Haskellで「リスト差分」演算子という用語を聞いたことがあります(\\)
が、それでも頭を動かす方法がよくわかりません。例やアイデアはありますか?
3046 次
4 に答える
9
(\\)
演算子(および関数)は集合の差を実装するためdifference
、2つのリストがあり、、の場合、次のように、に含まれていない要素のみを返します。a
b
a
b
于 2011-05-29T13:59:13.270 に答える
8
簡単に言えば、2 つのリストを取得し、2 番目のリストを通過し、各項目について、同じ項目の最初のインスタンスを最初のリストから削除します。
> [1..10] \\ [2, 3, 5, 8]
[1,4,6,7,9,10]
> [1, 2, 1, 2, 1, 2] \\ [2]
[1,1,2,1,2]
> [1, 2, 1, 2, 1, 2] \\ [2, 2]
[1,1,1,2]
> [1, 2, 1, 2, 1, 2] \\ [2, 2, 1]
[1,1,2]
于 2011-05-29T13:42:23.643 に答える
0
たとえば、都市などのリストがあるとします。たとえば、次のリストを見てみましょう。
a = ["London","Brussels","Tokio","Los Angeles","Berlin","Beijing"]
ここで、ヨーロッパにあるすべての都市を削除したいと考えています。これらの都市はヨーロッパにあります。
b = ["Glasgow","Paris","Bern","London","Madrid","Amsterdam","Berlin","Brussels"]
a
ヨーロッパにない、つまり にないの都市のリストを取得するにはb
、 を使用できます(\\)
。
a \\ b = ["Tokio","Los Angeles","Beijing"]
于 2011-05-29T13:42:54.353 に答える