gpt4 book ai didi

clojure - 如何在 Clojure 中检查一个映射是否是另一个映射的子集?

转载 作者:行者123 更新时间:2023-12-02 16:10:58 25 4
gpt4 key购买 nike

我想编写一个函数来检查一个 map 是否是另一个 map 的子集。

使用示例应该是:

(map-subset? {:a 1 :b 2} {:a 1 :b 2 :c 3})
=> true

有没有一种本地方法可以做到这一点?

最佳答案

通过将映射转换为集合,您可以使用clojure.set/subset?

(clojure.set/subset? (set {:a 1 :b 2}) (set {:a 1 :b 2 :c 3}))
=> true

这将使每对 map 成为集合中的元素

 (set {:a 1 :b 2 :c 3})
=> #{[:b 2] [:c 3] [:a 1]}

因此,{:a 1 :b 3} 不会是子集

(clojure.set/subset? (set {:a 1 :b 3}) (set {:a 1 :b 2 :c 3}))
=> false

关于clojure - 如何在 Clojure 中检查一个映射是否是另一个映射的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com