替换元组列表中的元组 - Haskell

ccl*_*lle 1 haskell tuples list

嘿伙计们,我希望能够替换元组列表中的元组.这就是我的想法:

let lst = [("john",3), ("greg",3), ("tom",2), ("rob",7), ("jason",4), ("tev",7)]
Run Code Online (Sandbox Code Playgroud)

我希望能够从列表中删除任何元组,说("rob",7),然后用新元组("ain",3)替换它.最后,我的最终列表将如下所示:

lst = [("john",3), ("greg",3), ("tom",2), ("ain",3), ("jason",4), ("tev",7)]
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助提前.

The*_*ell 9

它无法完成.Haskell是一种纯函数式语言,所以一旦变量有一个值,它就会保持这个值.

但是,您可以轻松地从旧计算新列表

map (\ x -> if x == ("rob",7) then ("ain",3) else x) lst
Run Code Online (Sandbox Code Playgroud)

  • 说"它无法完成"是不诚实的,因为它可以完成,只是不像你用不纯的语言那样做,而且它可以用类似的性能特征来完成(参见:手指树) ,例如)虽然你当然无法使用内置列表类型. (3认同)