LINUX.ORG.RU

История изменений

Исправление PolarFox, (текущая версия) :

Ок, не заметил. Тогда так:

(def data
    [[{:a 1 :b 2}]
     [{:c 3 :d 4}]
     [{:e 5 :f 6}]])

(->> data
    (flatten)
    (apply merge)
    ((fn [x] (zipmap (map #(format "--%s--" (name %)) (keys x))
                     (vals x)))))

Вместо (flatten) можно написать (map first) или любую другую штуку, которая достанет словарь из обёртки.

Исходная версия PolarFox, :

Ок, не заметил. Тогда так:

(def data
    [[{:a 1 :b 2}]
     [{:c 3 :d 4}]
     [{:e 5 :f 6}]])

(->> data
    (flatten)
    (apply merge)
    ((fn [x] (zipmap (map #(format "--%s--" (name %)) (keys x))
                     (vals x)))))