clojure将lazy-seq转换为哈希映射 [英] clojure convert lazy-seq to hash map

查看:113
本文介绍了clojure将lazy-seq转换为哈希映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm a clojure beginner. How do I create a map from a 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)


b $ b

但是,由于您实际上已经有单独的键和值,因此您可以使用

But since you actually already have separate keys and values, you can use

(zipmap fields values)

或者如果你将的心设置为 ,您可以

Or if you have your heart set on into, you could

(into {} (map vector fields values))

这篇关于clojure将lazy-seq转换为哈希映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆