List Clojure:按第二个列表筛选地图列表
有一张像这样的地图列表吗List Clojure:按第二个列表筛选地图列表,list,dictionary,filter,clojure,List,Dictionary,Filter,Clojure,有一张像这样的地图列表吗 ({:a "a" :b "b" :c "c"} {:a "d" :b "e" :c "f"} {:a "g" :b "h" :c "i"} {:a "j" :b "k" :c "l"}) 和第二个列表,如(“c”“i”) 我需要通过第二个列表条目过滤地图列表,结果如下 ({:a“a”:b“b”:c“c”}{:a“g”:b“h”:c“i”}) 但是不要知道怎么做。 (def data (list {:a "a" :b "b" :c "c"}
({:a "a" :b "b" :c "c"}
{:a "d" :b "e" :c "f"}
{:a "g" :b "h" :c "i"}
{:a "j" :b "k" :c "l"})
和第二个列表,如(“c”“i”)
我需要通过第二个列表条目过滤地图列表,结果如下
({:a“a”:b“b”:c“c”}{:a“g”:b“h”:c“i”})
但是不要知道怎么做。
(def data
(list
{:a "a" :b "b" :c "c"}
{:a "d" :b "e" :c "f"}
{:a "g" :b "h" :c "i"}
{:a "j" :b "k" :c "l"}))
然后
- 您的列表需要
作为操作员(或被引用)list
- 我假设您希望按key
的值进行过滤,这不需要是打印地图中的第二个条目:c
- 序列功能如
是如何工作的filter
- 使用集合和关键字作为函数
的功能comp
- 您的列表需要
作为操作员(或被引用)list
- 我假设您希望按key
的值进行过滤,这不需要是打印地图中的第二个条目:c
- 序列功能如
是如何工作的filter
- 使用集合和关键字作为函数
的功能comp
- 给定
然后
=> (filter (comp (set (list "c" "i")) :c) data)
({:a "a", :b "b", :c "c"} {:a "g", :b "h", :c "i"})