簡體   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