在Haskell中更新列表的元组元素

Tar*_*ama 5 haskell list

我在Haskell中编写的程序有一个我定义类型的列表实例:

type Locals = [(String, Float)]
Run Code Online (Sandbox Code Playgroud)

我试图通过接收字符串并更新相应的浮点值来更新此列表,但String可能不在列表中.

由于Haskell列表是不可变的,我决定最简单的方法是执行此操作(在伪代码中):

if a tuple containing the string exists:
    delete it

add the correct data
Run Code Online (Sandbox Code Playgroud)

我想知道:

a)如果有更简单的方法可以做到这一点

b)如果没有,我将如何删除正确的元素

谢谢

luq*_*qui 5

这看起来像一个关联地图.我会用Data.Map.这在其他语言中被称为"字典". Map.insert做你需要的.

  • @Yitz,或者你可能不够经常使用`Data.Map`!:-P (2认同)