首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当您有一个键和值的向量时,创建map

当您有一个键和值的向量时,创建map
EN

Stack Overflow用户
提问于 2013-07-20 17:13:15
回答 2查看 5.7K关注 0票数 8

我确信这很容易,但我怀疑在使用i的过程中会有很多小问题。也许我遗漏了一些东西,但在查看clojure地图页面时,我没有找到解决方案。

给定两个向量(一个关键字,另一个值),你如何有效地(关键词!)创建从键到值的映射?

键和值如下:

代码语言:javascript
代码运行次数:0
运行
复制
(:year :month :day) (core/split "2013-02-18" #"-")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 17:16:22

自然的解决方案是使用zipmap

代码语言:javascript
代码运行次数:0
运行
复制
(zipmap [:year :month :day] (clojure.string/split "2013-02-18" #"-"))
;= {:day "18", :month "02", :year "2013"}

对于像这样的小地图,它实际上是相当有效的。对于一个更大的地图,你会希望zipmap使用瞬态,但它目前还没有。在JIRA中有一个标签,并附上了我的补丁:CLJ-1005

当然,在自己的代码库中包含支持瞬态的zipmap并优先使用它,而不是在clojure.core中使用它,这是非常简单的。如果你正在压缩更大的地图,这是一件非常重要的事情。

代码可以从补丁或ClojureScript核心库复制过来,后者在其zipmap中使用瞬态;此处是到1844版本的ClojureScript source的链接(此特定函数无需更改即可在Clojure中使用)。

票数 20
EN

Stack Overflow用户

发布于 2013-07-20 17:17:09

你要找的是zipmap

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17760652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档