Clojure:将两个list合并成一个map
假设我们有两个list,分别是:
(def a [“one” “two” “three”])
(def b [1 2 3])
我们要把它们合为一个键值对应的map,做法很简单:
1. 先将a和b合为一个一一对应的list:
(map vector a b) => (["one" 1] ["two" 2] ["three" 3])
2. 然后再将list转化成为map:
(into {} (map vector a b)) => {"one" 1, "two" 2, "three" 3}
3. 有点像咯,不过怎么把”one”, “two”, “three”转化成为keyword呢?我们可以使用keyword方法来帮忙,最终成品如下:
(into {}
(for [[k v]
(map vector a b)]
[(keyword k) v]))
=> {:one 1, :two 2, :three 3}
成功!我们通过一个for循环先将(["one" 1] ["two" 2] ["three" 3])转为([:one 1] [:two 2] [:three 3]),然后再调用into语句,这样就实现了将两个list合并成一个map的需求了。
Clojure:将两个list合并成一个map的更多相关文章
- 将两个DataTable合并成一个DataTable
转载自 http://blog.csdn.net/wangxiaojia42121/article/details/53330464 谢谢 //两个结构一样的DT合并DataTable DataTab ...
- 两个list合并成一个list的操作
addAll 添加另一集合里面的元素 add 添加整个集合包括 [] Stream 操作 合并两个lis 出自http://www.it1352.com/963663.html public cl ...
- python基础===两个list合并成一个dict的方法
def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...
- 如何将两个json合并成一个
//调用方法: var targetObject = [{name:"11",age:11}]; var sourceObject = [{name:"22", ...
- python中如何将两个list合并成一个list,不用for语句
1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] ...
- 两个NSMutableDictionary合并成一个NSMutableDictionary
解决方案: NSMutableDictionary *targetMutableDictionary = [mutableDictionary1 copy]; [targetMutableDictio ...
- 多个UIImage合并成一个UIImage
多个UIImage合并成一个UIImage 创建两个UIImage UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"]; UII ...
- Java中如何把两个数组合并为一个
在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...
- C#程序(含多个Dll)合并成一个Exe
把C#程序(含多个Dll)合并成一个Exe的超简单方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一 ...
随机推荐
- [Swift通天遁地]七、数据与安全-(17)使用Swift实现原生的3DES加密和解密
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- JavaScript学习五
2019-06-02 09:53:42
- Struts2之一 初体验
Struts2 框架是基于MV模式开发的,它提供了一个核心控制器,用于对所有的请求进行统一处理,这个控制器是由一个名为FilterDispatcher的Servlet过滤器来充当的. 01.需要在we ...
- Java_注解之一
注解可以替换复杂的hbm.xml文件,使得程序的开发大大简化 @Override :子类重写父类方法 @Test :junit测试 @Before :测试之前执行 @SuppressWarnin ...
- pd_ds 之 hash
http://attack.cf/?post=23 打个广告....
- python框架之虚拟环境的配置
在开发过程中,往往同一台电脑要开发不同的项目,不同的项目可能需要不同版本的包,为了解决这个问题就引出了虚拟环境. 配置虚拟环境: 1.安装虚拟环境: sudo pip3 install virtual ...
- python基础篇(一)-------- 字符串的操作
1.字符串的常用操作: 已知字符串:str = "hello world zhangsan and zhangsan" 1.字符串的长度:len(str) 2.查看字符串的索引值: ...
- 前端h5开发调试神奇vconsole
(1)项目中安装vconcole插件 npm install vconcole (2)在vue项目中main.js中引入插件 import Vconsole from 'vconsole'; cons ...
- fcc 响应式框架Bootstrap 练习1
需要通过添加下列代码到你的HTML开头来将Bootstrap添加到任意应用中: <link rel="stylesheet" href="//cdn.bootcss ...
- 检索COM类工厂中CLSID 为 {000209FF-0000-0000-C000-000000000046}的组件时失败, 原因是出现以下错误: 80070005
主要问题原因是Word权限配置问题 解决方案: 控制面板-管理工具-组件服务-计算机-我的电脑-DCOM配置 在列表中找到microsoft word97-2003 document 右键选择属性,选 ...