我必须创建一个函数,它被赋予一个键(作为一个 String
),一个值(作为一个 String
)以及一个键和键的关联列表值(如 [(String, String)]
)。该函数旨在将键/值对添加到列表的末尾,如果键已经存在于具有关联值的列表中,则删除旧值。
我已经尝试在键和关联列表上使用 lookup
,但我不确定如何处理输出 - lookup
函数的输出类型是 Maybe String
,我似乎无法在其上执行列表功能(如删除元素)。有什么方法可以查看列表并删除具有给定键的任何列表元素而不知道与之关联的值?
最佳答案
您可能应该编写一个递归函数,将新的键/值对和现有列表作为参数,并循环遍历列表以生成插入了新值的新列表。对于每个列表元素,您检查键是否与您要插入的键相同。如果不同,则保留旧元素,如果相同,则添加新项目而不是旧元素。如果您到达列表的末尾而没有找到键,您只需在末尾插入新项目即可。
https://stackoverflow.com/questions/793935/