list - lisp 从列表中过滤掉不匹配谓词的结果

标签 list lisp filter elisp predicate

我正在尝试使用 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/

相关文章:

java - 在另一个列表的末尾添加列表(不仅仅是复制引用)

python - 如何从具有值列表的字典列表中形成 DataFrame?

mysql - Zend Framework 1 查询,按满足条件对结果进行排序

python - 在Python中使用for循环在嵌套列表中赋值

Python:根据一个列表的索引对字典列表进行排序

list - Lisp 递归归并排序与升序?

emacs - 如何向 emacs 宏添加动态触摸和/或查询替换?

xpath - LISP Xpath 按顺序获取多个节点

javascript - 如何在 JavaScript 中使用索引过滤数组数组?

javascript - 在 Javascript 中向过滤器函数添加条件