假设有一个 erlang 列表列表:
请注意,列表的大小是固定的。在这种情况下 3。
A = [[1,2,3],[4,5,6],[1,8,3],[1,9,3]]
我正在尝试编写将删除所有形式为的元素的函数[1,_,3]
。所以我的预期输出将是以下形式:[[4,5,6]]
我可以考虑的一种解决方案是列表:dropwhile()
可以使用的函数。
我在构造谓词函数时遇到问题。将每个元素转换为元组然后进行比较是否更容易?如果是这样,我没有适当的方法可以省略中间元素。
你能帮我找到解决方案吗?任何其他有效的方法也将受到高度赞赏。
提前致谢!
编辑:问题扩展:
假设两个 erlang 列表列表:
A = [[1,2,3], [2,3,4], [4,5,6]]
B = [[1,4,3], [4,7,6], [7,8,9], [4,9,7], ]
输出 F(A,B) = [[7,8,9], [4,9,7]]
F 被定义为一个函数,它从列表 B 中删除与列表 A 中第一个和第三个位置的任何一个元素匹配的所有元素。
在这种情况下,列表 B 中与 [1, _ ,3] 或 [2, _ , 4] 或 [4 , _ , 6] 匹配的所有元素都将从列表中删除以给出结果列表。
我正在努力写 F。