[英]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.