我正在尝试使用 emacs 方言学习 lisp,我有一个问题。
让我们说列表有一些成员,谓词的计算结果为假。如何创建没有这些成员的新列表?类似于 { A in L: p(A) is true }
。在 python 中有过滤功能,在 lisp 中有等效的东西吗?如果没有,我该怎么做?
谢谢
最佳答案
这些函数在 CL 包中,您需要 (require 'cl)
才能使用它们:
(remove-if-not #'evenp '(1 2 3 4 5))
这将返回一个新列表,其中包含参数中的所有偶数。
另请参阅 delete-if-not
,它的作用相同,但会修改其参数列表。
关于list - lisp 从列表中过滤掉不匹配谓词的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234860/