【发布时间】:2016-04-15 14:20:21
【问题描述】:
我正在尝试提出一种功能解决方案来解决由交替集和数值组成的自定义数据结构中的重复项。
一个例子:
(def a [#{:a} 0.1 #{:b} 0.3 #{:a :b} 0.1 #{:a} 0.3 #{:b} 0.1 #{:a} 0.1])
我想添加对应于重复集的值以产生
[#{:a} 0.5 #{:b} 0.4 #{:a :b} 0.1]
我可以使用loop/recur 做到这一点,但想知道是否有办法在 Clojure 中使用高阶函数。
谢谢。
【问题讨论】:
-
你能分享你的循环/递归解决方案吗?
-
对的顺序重要吗?如果没有,您可以将数据保存为从一组关键字到数字序列(向量?)的映射。