【发布时间】:2012-01-07 22:09:07
【问题描述】:
Clojure 库中是否存在用于过滤集合并返回一对集合的函数,其中一个包含谓词返回 true 的项目,另一个包含谓词返回 false 的项目?
例如:
(let [[yays nays] (some-fn pred coll)] ... )
或多或少,我正在寻找一种基于谓词进行排序的方法,而不是扔掉(比如filter 或remove)。
(注意:我知道一个解决方案是在集合上分别调用filter和remove;我只是想知道是否有一个内置函数可以更有效地完成此操作。
(编辑:seq-utils/separate 效率不高。它为每个项目评估谓词两次。)
【问题讨论】:
标签: collections clojure