clojure将lazy-seq转换为哈希映射
我是clojure初学者。 我如何从lazySeq创build一个地图?
(def fields [:name :age :color]) (def values ["joe" 32 "red"]) (def record (interleave fields values)) (def mymap (into {} record)) ;; ???? ;; (get mymap :age) ;; 32
要回答你的实际问题:
(apply hash-map record)
但是既然你已经有了单独的键和值,你可以使用
(zipmap fields values)
或者如果你有自己的心,你可以
(into {} (map vector fields values))
这根本不明智,但是因为原来的问题想用于record
:
(into {} (map vec (partition 2 record)))