在Common Lisp中,如何在列表中搜索子列表

时间:2014-01-02 14:21:47

标签: common-lisp

如果我想查找(x 2)是否存在于包含((x 2)(y 2)(z 2)的列表中,例如,我该怎么做?

(member '(x 2) '((x 2) (y 2) (z 2))) 

返回NIL,如找到

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

? (member '(x 2) '((x 2) (y 2) (z 2)) :test 'equal)
((X 2) (Y 2) (Z 2))

在Common Lisp中,member使用eql作为默认测试,在这种情况下不起作用。

有关eqeqlequalequalp的详细信息,请参阅here