【发布时间】:2017-03-01 04:43:35
【问题描述】:
假设我有一个这样的元组列表:
[["type_2" "val_x"] ["type_1" "val_y"] ["type_1" "val_z"]]
我想过滤它们,这样我就有了两个独立的集合:
[["type_2" "val_x"]]
[["type_1" "val_y"] ["type_1" "val_z"]]
我可以运行两次过滤器。我想知道是否可以通过函数式编程在单次迭代中实现相同的结果?
这是所需的界面:
(multiple-filter predicate_fn_1 predicate_fn_2 coll)
【问题讨论】:
-
(vals (group-by first [["type_2" "val_x"] ["type_1" "val_y"] ["type_1" "val_z"]]))应该做你想做的事 -
@m33lky 能否请您将代码块移动到它们自己的行中并在行首添加四个空格以使其成为代码块,然后从它们周围删除` `。我通常会修复这些格式问题,但 SO 存在问题,我无法使用其他待处理的编辑来编辑问题,因此我无法为您修复此格式。
-
@ArthurUlfeldt 将所有内容放在代码块中而不是刻度中
标签: filter clojure functional-programming