【发布时间】:2016-07-20 07:41:06
【问题描述】:
我有一张地图列表
( {:path "first" :size "1 gb"}
{:path "second" :size "500 mb"}
...)
还有另一个地图列表
( {:path "first" :size "1 gb" :date "1"}
{:path "second" :size "500 mb" :date "1"}
{:path "first" :size "0.9 gb" :date "2"}...
{:path "second" :size "400 mb" :date "2"}...
...)
我想将第一个地图列表转换为类似的东西
( {:path "first" :sizeon1 "1 gb" :sizeon2 "0.9 gb"...}
{:path "second" :sizeon1 "500 mb" :sizeon2 "400 mb"...}
....)
我是 Clojure 菜鸟,很难做到这一点。 你能帮帮我吗?
【问题讨论】:
-
在您的示例中,您实际上并不需要第一个列表,因为它的数据在第二个列表中重复。是否总是如此,或者是否存在某些路径值出现在第一个列表中而在第二个列表中不存在的情况,反之亦然?如果是这样,这些情况的预期结果是什么?
-
是的,这总是正确的。没错,我只需要一个新列表,其中包含第二个列表中所需的结果。第二个列表按日期排序..即所有日期为“1”的条目,然后是“2”,依此类推(编辑)..怎么做?另外,你能看看 superkonduktr 的回答并回答我的评论吗?
标签: clojure clojure-java-interop clojure-contrib