0

集合論では があり{x, y, z}、これは{z, y, x}... と同じで、 ... と同じですが{y, x, z}{z, x, y}Lisp (Scheme など) では、リストはそのような並置を許しません。順序が重要です。質問: 順序を問わないセットに相当する Lisp/Scheme はありますか?

推測するに、私は単純にリストを作成し、たとえば(x y z)、次のようなものを作成するかもしれません。member?つまり、あなたはメンバーですか? 機構。

...これについて疑問に思っているのは私だけではないはずです...

4

1 に答える 1

1

について話してcommon lispいる場合は、セットであるかのようにリストを操作する一連の関数があります。

(member 'b '(a b c d)) => (B C)

も使用できますmember_if。集合演算には他にもいくつかの関数があります:

(union '(a b c) '(f a d)) => (C B F A D)

(intersection '(a b c) '(f a d)) => (A)

(set-difference '(a b c) '(b c d)) => (A)

于 2016-04-24T15:03:19.313 に答える