Multiple lazy sequences into a map

clojure

Solution

You only need `map`:

(map (fn [id name type] {:id id :name name :type type})
     (id1 id2 id3 ...)
     (name1 name2 name3 ...)
     (type1 type2 type3 ...))

Problem

Given the keys ``` :id :tag :name ``` and three lazy sequences producing output in the form ``` (id1 id2 id3 ...) (name1 name2 name3 ...) (type1 type2 type3 ...) ``` what do I have to do do get a sequence of maps in the form ``` ({id: id1 :name name1 :type type1} {id: id2 :name name2 :type type2} {id: id3 :name name3 :type type3} ...) ``` I tried various combinations of apply, map, assoc etc but didn't get it.

Original source