リストの erlang リストがあるとします。
リストのサイズは固定されていることに注意してください。この場合は 3.
A = [[1,2,3],[4,5,6],[1,8,3],[1,9,3]]
フォームのすべての要素を削除する関数を作成しようとしています[1,_,3]
。したがって、期待される出力は次の形式になります。[[4,5,6]]
私が考えることができる1つの解決策は、dropwhile()
使用できるリスト:関数でした。
述語関数の作成に問題があります。すべての要素をタプルに変換してから比較する方が簡単ですか? もしそうなら、中間要素を省略できる適切な方法はありません。
解決策にたどり着くのを手伝ってもらえますか? 他の効率的なアプローチも高く評価されます。
前もって感謝します!
編集:質問拡張:
リストの 2 つの 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 は、リスト A の 1 番目と 3 番目の位置にある要素のいずれかに一致するすべての要素をリスト B から削除する関数として定義されています。
この場合、[1, _ ,3] または [2, _ , 4] または [4 , _ , 6] に一致するリスト B のすべての要素がリストから削除され、結果のリストが得られます。
Fを書くのに苦労しています。