list から map に変換
これがもっとエレガントに簡単にならんもんだろうか???
(let [data '((1 2 3) (0 0 0) (1 2 3 4) (3 3 3) (3 2 3) (1 2 1)) keyring '(:a :b :c :d :e) _make-pair (fn [arg] (map #(list %1 %2) keyring arg)) _conv-map (fn [m [k v]] (assoc m k v))] (map #(reduce _conv-map, {}, %) (map _make-pair data))) ;=> ({:c 3, :b 2, :a 1} {:c 0, :b 0, :a 0} {:d 4, :c 3, :b 2, :a 1} {:c 3, :b 3, :a 3} {:c 3, :b 2, :a 3} {:c 1, :b 2, :a 1})