clojure将lazy-seq转换为哈希映射

我是一个clojure初学者。如何从lazySeq创建地图?

(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))

转载注明原文:clojure将lazy-seq转换为哈希映射 - 代码日志