clojure 中的反转哈希映射

2024-04-21

我在 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(使用前将#替换为@)

clojure 中的反转哈希映射 的相关文章

随机推荐