gpt4 book ai didi

clojure - "flatten"clojure 中单个 map 的 map 列表?

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

我想从这个由 jdbc 查询返回的 map 列表中:

'({:series_id 1 :expires_at "t1"} {:series_id 2 :expires_at "t2"})

到单个 map ,如:

{1 "t1" 2 "t2"}

这样我就可以查找 expires_at简单地使用 series_id整数。

我已经到了:

db.core=> (mapcat #((comp vals select-keys) %1 [:series_id :expires_at]) 
'({:series_id 1, :expires_at "t1"} {:series_id 2 :expires_at "t2"}))
(1 "t1" 2 "t2")

但那是一个 list ,而不是一张 map 。

我想知道这是否是 reduce 的候选者,和/或是否有其他一些巧妙的方法可以做到这一点。

最佳答案

您可以将每张 map 转换成一对[series_id expires_at]然后将对应的成对序列转换成映射:

(def l '({:series_id 1 :expires_at "t1"} {:series_id 2 :expires_at "t2"}))
(into {} (map (juxt :series_id :expires_at) l))

关于clojure - "flatten"clojure 中单个 map 的 map 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60439807/

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