首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Clojure中分发和合并hash-map元素

在Clojure中分发和合并hash-map元素
EN

Stack Overflow用户
提问于 2013-05-15 01:04:25
回答 1查看 107关注 0票数 1

转换此集合的最快方法是什么:

代码语言:javascript
复制
[[{:a 1} {:a 2} {:a 3}] [{:b 4} {:b 5} {:b 6}] [{:c 7} {:c 8} {:c 9}]]

进入这个集合?:

代码语言:javascript
复制
[{:a 1, :b 4, :c 7} {:a 2, :b 5, :c 8} {:a 3, :b 6, :c 9}]

我想出了这个,但我仍然觉得它可以更短:

代码语言:javascript
复制
(map (partial apply merge) 
     (apply map vector collection))

请注意,这些数字是随机挑选的,只是为了表明每个val的内容是唯一的……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 01:23:01

代码语言:javascript
复制
(def data [[{:a 1} {:a 2} {:a 3}] [{:b 4} {:b 5} {:b 6}] [{:c 7} {:c 8} {:c 9}]])

(apply mapv merge data)
;=> [{:a 1, :c 7, :b 4} {:a 2, :c 8, :b 5} {:a 3, :c 9, :b 6}]
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16548885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档