Clojure 库中是否存在用于过滤集合并返回一对集合的函数,其中一个包含谓词返回 true 的项目,另一个包含谓词返回 false 的项目?
例如:
(let [[yays nays] (some-fn pred coll)] ... )
或多或少,我正在寻找一种根据谓词进行排序的方法,而不是丢弃(例如使用 filter
或 remove
)。
(注意:我知道解决方案是分别对集合调用 filter
和 remove
;我只是想知道是否有一个内置函数可以更有效地完成此任务)。
(编辑:seq-utils/separate
并不符合更高效的条件。它对每个项目的谓词求值两次。)
最佳答案
关于collections - 用于基于谓词排序的库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773520/