gpt4 book ai didi

Clojure:从惰性序列中提取具有特定值的映射

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

我有一个 Clojure 惰性序列:

{
{:keyOne 123, :keyTwo "TestVal"}
{:keyOne 456, :keyTwo "Value2"}
{:keyOne 789, :keyTwo "TestVal"}
}

我想获取给定键具有特定值的 map ,例如我想要所有将 "TestVal" 值作为 :keyTwo 值的 map ,因此我希望结果中出现第一个和第三个元素。

我认为我应该能够使用 filter 来解决这个问题,但我已经浏览了我能找到的所有示例,并且它们从未使用这样的嵌套结构。

最佳答案

{{:keyOne 123, :keyTwo "TestVal"}
{:keyOne 456, :keyTwo "Value2"}
{:keyOne 789, :keyTwo "TestVal"}}

在 clojure 中,这个表达式没有意义,这不是映射的惰性序列。为了充分回答你的问题,我认为输入数据如下:

(def input '({:keyOne 123, :keyTwo "TestVal"}
{:keyOne 456, :keyTwo "Value2"}
{:keyOne 789, :keyTwo "TestVal"}))

我们可以根据您的目的制作如下表达式:

(filter (fn [m] (= "TestVal" (:keyTwo m))) input)

它不关心输入序列是惰性的还是非惰性的(eager)。

关于Clojure:从惰性序列中提取具有特定值的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47013246/

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