假設有一個列表的erlang列表:Erlang列表與元組比較
請注意列表的大小是固定的。在這種情況下3
A = [[1,2,3],[4,5,6],[1,8,3],[1,9,3]]
我試圖寫功能,將放棄所有這些都是形式[1,_,3]
的元素。 所以我的預期輸出的形式如下:[[4,5,6]]
我可以考慮的一個解決方案是列表:dropwhile()
函數可以使用。
我在構造謂詞函數時遇到了問題。將每個元素轉換爲元組並將其進行比較更容易嗎?如果是這樣,沒有適當的方式可以省略中間元素。
你能幫我解決問題嗎?任何其他有效的方法也將受到高度讚賞。
在此先感謝!
編輯: 問題Extenstion:
假設列出兩個二郎列表:
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中刪除所有t他是與第一和第三位置中的列表A中的任何一個元素相匹配的元素。
在這種情況下,從列表中刪除列表B中匹配[1,_,3]或[2,_,4]或[4,_,6]的所有元素以給出結果列表。
我很努力寫F.
什麼你的謂詞函數看起來像迄今爲止?我想你會發現它對於元組或列表來說非常相似。 – legoscia
到目前爲止,我的最大努力一直是, 列表:過濾器(fun(X) - > {1,_,3} == erlang:list_to_tuple(X)end,A)。 但我得到一個_ unbound變量錯誤。等於(=)的單個變量如果爲false,則不會返回true或false。 – Maverickgugu