当我们在地图上调用键时,在我们在同一个地图上调用val时,结果seq中的键的顺序是否保证与值的顺序相同?
换句话说,可以将函数f映射到地图的内容上,如下所示:
(map #(f %1 %2) (keys m) (vals m))
如果没有,在clojure中是否有相当于perl的每个?或者也许是zipmap的反函数?
答案 0 :(得分:13)
你可以迭代地图,得到关键的val对,
(map (fn [[key val]]
(println key val)) {:a :b :c :d})
几乎所有的clojure数据结构都是可选的。