Lisp 可以使用“查找”在另一个列表中查找列表吗?
查找基于单个原子的列表元素似乎效果不错:Lisp 可以使用“查找”在另一个列表中查找列表吗?,lisp,common-lisp,Lisp,Common Lisp,查找基于单个原子的列表元素似乎效果不错: CL-USER> (find 1 (list 5 4 3 2 1)) 1 但是在列表中找到一个列表呢 CL-USER> (find (list 1 2) (list (list 3 4) (list 1 2))) NIL 如何执行此操作?FIND默认情况下使用EQL测试元素。但是,仅当两个对象相同(即,如果它们是EQ)且元素相等时,此列表测试才会返回true 因此: 但您也可以指定不同的测试函数 (find (list 1 2) (lis
CL-USER> (find 1 (list 5 4 3 2 1))
1
但是在列表中找到一个列表呢
CL-USER> (find (list 1 2) (list (list 3 4) (list 1 2)))
NIL
如何执行此操作?
FIND
默认情况下使用EQL
测试元素。但是,仅当两个对象相同(即,如果它们是EQ
)且元素相等时,此列表测试才会返回true
因此:
但您也可以指定不同的测试函数
(find (list 1 2) (list (list 1 2) (list 1 2 3))
:test #'EQUAL) ==> (1 2)
FIND
默认情况下使用EQL
测试元素。但是,仅当两个对象相同(即,如果它们是EQ
)且元素相等时,此列表测试才会返回true
因此:
但您也可以指定不同的测试函数
(find (list 1 2) (list (list 1 2) (list 1 2 3))
:test #'EQUAL) ==> (1 2)
尝试
(查找(列表12)(列表(列表34)(列表12)))
?@半位更新的问题,感谢可能的重复;特别是对默认选择的解释:回答中的test
谓词(查找(列表12)(列表(列表34)(列表12))
?@半位更新问题,感谢可能的重复;特别是对答案中默认:test
谓词选择的解释