比较/交叉点列表
我想使用 查看两个列表的交集。
虽然
(intersection (list 1 1) (list 1 1))
效果很好,并且返回(1 1)
,但
(intersection (list (list 1 2) (list 1 4)) (list (list 1 2) (list 1 5)))
不返回我(1 2),而是零。
我的错误在哪里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
交叉点
:test 关键字参数指定要使用的“平等”的定义。默认值为它比较指针平等的列表。由于您的两个列表实际上是内存中的不同列表,因此它们不是eql
。使用元素。intersection
takes an optional:test
keyword argument to specify what definition of "equality" to use. The default iseql
, which compares lists for pointer equality. Since your two lists are actually distinct lists in memory, they're noteql
. Useequal
to compare lists element-wise.