Clojure:将两个list合并成一个map
2014-06-19 07:23
543 查看
假设我们有两个list,分别是:
我们要把它们合为一个键值对应的map,做法很简单:
1. 先将a和b合为一个一一对应的list:
2. 然后再将list转化成为map:
3. 有点像咯,不过怎么把”one”, “two”, “three”转化成为keyword呢?我们可以使用keyword方法来帮忙,最终成品如下:
成功!我们通过一个for循环先将(["one" 1] ["two" 2] ["three" 3])转为([:one 1] [:two 2] [:three 3]),然后再调用into语句,这样就实现了将两个list合并成一个map的需求了。
(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的需求了。
相关文章推荐
- C# 一个简单的递归函数和 两个List<T> 合并
- 两个List合并一个List,去除重复.
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素
- 将前台的一个form转换成一个list,list中包含了两个map, 一个是form的input字段key和value的map,另一个是附件map
- C#控制台基础 已知两个list<>集合,除去重复后合并成一个
- 将两个List合并为一个List(并集)+取交集
- java 两个map对象的合并成一个map对象
- 在python中如何将两个list合并成一个list,不用for语句
- java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来
- python中如何将两个list合并成一个list,不用for语句
- python基础===两个list合并成一个dict的方法
- java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来
- 把一个listmap 按照要求分成两个listmap
- 根据两个list的相同字段比较,合并成一个list
- 把两个List合并成一个List并且不能有重复
- 两个表合并成一个表
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 两个LIST合并问题
- MSSQL数据库:存储过程实例学习(1)从两个表中取出头两行,然后合并到一个表中
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序