转换此集合的最快方法是什么:
[[{:a 1} {:a 2} {:a 3}] [{:b 4} {:b 5} {:b 6}] [{:c 7} {:c 8} {:c 9}]]进入这个集合?:
[{:a 1, :b 4, :c 7} {:a 2, :b 5, :c 8} {:a 3, :b 6, :c 9}]我想出了这个,但我仍然觉得它可以更短:
(map (partial apply merge)
(apply map vector collection))请注意,这些数字是随机挑选的,只是为了表明每个val的内容是唯一的……
发布于 2013-05-15 01:23:01
(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}]https://stackoverflow.com/questions/16548885
复制相似问题