繁体   English   中英

clojure 将惰性序列转换为 hash map

[英]clojure convert lazy-seq to hash map

我是 clojure 初学者。 如何从lazySeq 创建 map?

(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 ,你可以

(into {} (map vector fields values))

这根本不明智,但由于最初的问题想使用into with record

(into {} (map vec (partition 2 record)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM