merge - Clojure:仅当键在两个映射中时才组合 HashMap ?

标签 merge clojure

我有两个 HashMap ,我试图将它们合并在一起,同时只保留在两个映射中找到的键。
例如:

{a true, b true, c true, d true, e true}
merged with {c true, d true, e true, f true}
would yield {c true, d true, e true}

我是 Clojure 的新手,似乎不知道该怎么做。谢谢

最佳答案

有一个select-keys标准库中的函数

(let [a {:a true :b true :c true :d true :e true}
      b {:c true :d true :e true :f true}
      b-keys (keys b)]
  (select-keys a b-keys))
#=> {:c true, :d true, :e true}

关于merge - Clojure:仅当键在两个映射中时才组合 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48691836/

相关文章:

r - 合并数据框和命名向量

python - 通过相应的字典值组合 Pandas 列

Clojure 中的 Emacs 自动缩进 - 它像 CL 吗?

Clojure 从 Java 翻译过来

clojure - 当你想要在 Clojure 中同时产生副作用和保留值(value)时,该使用什么函数?

Mercurial 相邻行 merge 冲突

git - 使用不同版本的 API 维护 git 分支的策略?

android - 如何在 Android 中合并两个或多个适配器并显示在一个 ListView 中

clojure - ( :gen-class) and fully qualified symbol

Clojure 规范 - 覆盖谓词的检查生成器