ts.*_*ts. 3 clojure hashmap data-structures
我在clojure中使用哈希映射:
{"key1" "value1"} {"key2" "value2"} {"key3" "value1"}
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为哈希映射
{"value1" {"key1" "key3"}} {"value2" {"key2"}}
Run Code Online (Sandbox Code Playgroud)
这样做的任何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")}
Run Code Online (Sandbox Code Playgroud)