Получил список карт вроде
({: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"}))
потом
=> (filter (comp (set (list "c" "i")) :c) data)
({:a "a", :b "b", :c "c"} {:a "g", :b "h", :c "i"})
list
в качестве оператора (или в кавычках).:c
, которое не обязательно должно быть второй записью на распечатанной карте.Вам нужно разобраться с двумя или тремя аспектами Clojure:
filter
.comp
.