检查项目是否在列表中的简单方法是什么?

就像是

(in item list)

如果trueitem=1以及list=(5 9 1 2)可能返回false

最佳答案

常见Lisp
FIND不是一个好主意:

> (find nil '(nil nil))
NIL

上面的意思是NIL不在列表(NIL NIL)中-这是错误的。
FIND的目的不是检查成员资格,而是查找一个满足测试要求的元素(在上面的示例中,测试功能是通常的默认EQL)。 FIND返回这样的元素。

使用MEMBER:
> (member nil '(nil nil))
(NIL NIL)  ; everything non-NIL is true

POSITION:
> (numberp (position nil '()))
NIL

09-11 19:23
查看更多