【发布时间】:2013-08-09 15:07:28
【问题描述】:
我想做
(filter-list-into-two-parts #'evenp '(1 2 3 4 5))
; => ((2 4) (1 3 5))
根据谓词的计算结果是否为真,一个列表被分成两个子列表。定义这样的函数很容易:
(defun filter-list-into-two-parts (predicate list)
(list (remove-if-not predicate list) (remove-if predicate list)))
但我想知道 Lisp 中是否有一个内置函数可以做到这一点,或者可能有更好的方法来编写这个函数?
【问题讨论】:
标签: filter lisp common-lisp