我想从由jdbc查询返回的地图列表中查找:
'({:series_id 1 :expires_at "t1"} {:series_id 2 :expires_at "t2"})
到单个地图,例如:
{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")
但这是列表,而不是地图。
我想知道这是否适合减少使用,和/或是否还有其他一些巧妙的方法可以做到。
您可以将每个图转换成一对,[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))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句