设置,不在Lisp世界中列出?

时间:2016-04-24 14:53:32

标签: lisp set-theory

在集合论中,我们有{x, y, z},它与{z, y, x}相同,与{y, x, z}{z, x, y}相同......现在,在Lisp(Scheme等)列表不允许这样的并置。订单很重要。问题:Lisp / Scheme是否等同于order-doesn&t-matter set?

猜测,我可能只是构建一个列表,比如说(x y z),然后有某种member?你是机制的成员。

......我敢打赌,我并不是唯一一个对此感到疑惑的人...

1 个答案:

答案 0 :(得分: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)