我在 clojure 中有哈希映射:
{"key1" "value1"} {"key2" "value2"} {"key3" "value1"}
我需要将其转换为哈希映射
{"value1" {"key1" "key3"}} {"value2" {"key2"}}
有 Clojure 方法可以做到这一点吗?
clojure.set/map-invert 不会像覆盖重复值一样工作。
(def m {"key1" "value1" "key2" "value2" "key3" "value1"})
(let [g (group-by val m)
vals (map #(map first %) (vals g))]
(zipmap (keys g) vals))
;;=> {"value2" ("key2"), "value1" ("key1" "key3")}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)