【发布时间】:2020-02-02 01:33:55
【问题描述】:
例如,如果我有一个元组列表,例如
[("a1", ["a2", "a3"]), ("b1", ["b2", "b3"])]
我想添加a4 使用a1 & a4 作为更新列表的输入,以便我们得到
[("a1", ["a2", "a3", "a4"]), ("b1", ["b2", "b3"])] 作为输出,我将如何解决这个问题?我知道我们不能从字面上“更新”一个元组,我必须创建一个全新的列表
【问题讨论】:
-
这种对结构的修改操作被Lens package很好地概括了。 this very recent book 似乎也为 Haskell 中的光学主题提供了非常丰富的信息。
-
更新了标题:您正在尝试添加到元组内的 list 中,这意味着使用一个新元组创建一个新列表(和
n- 1 个预先存在的元组) 里面有一个新列表。 -