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方法来帮忙,最终成品如下:

1 (into {}
2       (for [[k v]
3             (map vector a b)]
4           [(keyword k) v]))
5 => {: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

时间: 2024-11-05 11:48:06

Clojure:将两个list合并成一个map的相关文章

怎么把两个数组合并成一个php

一个数组是$new[] 另一个是$fuids[] 都是一维数组 我想实现的是合并后的数组还是一维数组 比如说$new[]内容是1,2,3而$fuids[]的内容是4,5,6合并后的数组内容是1,2,3,4,5,6请问应该怎么合并 <? $a = array(1,3,4); $b = array('aa','bb','cc'); $c = array(); foreach($a as $key){ foreach ($b as $val){ $c[$key]= $val; } } var_dump

两个NSMutableDictionary合并成一个NSMutableDictionary

解决方案: NSMutableDictionary *targetMutableDictionary = [mutableDictionary1 copy]; [targetMutableDictionary addEntriesFromDictionary:mutableDictionary2];

如何将两个json合并成一个

//调用方法: var targetObject = [{name:"11",age:11}]; var sourceObject = [{name:"22",age:22}]; var result = $.extend(true,targetObject,sourceObject); //手写拼接: var str1=[{name:"11",age:11}]; var str2=[{name:"22",age:22}];

python中如何将两个list合并成一个list,不用for语句

1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] = L2和上面的方法等价, 但切片方法用起来更灵活,可以插入到头部,或其他任意部位,也可以加到中间. 原文地址:https://www.cnblogs.com/qingyuanjushi/p/8409949.html

查询两个表合并成一个表

select c.ClientID,c.Name,case MAX(c.Grade) when 0 then '厂家直营' when 1 then '总代理' when 2 then '省级代理'when 3 then '省级代理' end Grade,MAX(d.CooperationIntention) as CooperationIntention,COUNT(*) as number,ISNULL(c.IsEmphasis,0) IsEmphasis from SG_Client c i

多个UIImage合并成一个UIImage

多个UIImage合并成一个UIImage 创建两个UIImage UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"]; UIImage *image2 = [UIImage imageNamed:@"CodePush"]; 创建UIImage的方法有很多种,我们就简单的通过imageNamed:方法来创建. 合并之后的size CGSize size = CGSizeMake(image1.size.width

C#程序(含多个Dll)合并成一个Exe

把C#程序(含多个Dll)合并成一个Exe的超简单方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超简单的方法,不用写一行代码就可轻松实现. 这里我们需要用到一款名为Fody.Costura的工具.Fody.Costura是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件全部打

把C#程序(含多个Dll)合并成一个Exe的超简单方法

原文:把C#程序(含多个Dll)合并成一个Exe的超简单方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超简单的方法,不用写一行代码就可轻松实现. 这里我们需要用到一款名为Costura.Fody的工具.Costura.Fody是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件

Java中如何把两个数组合并为一个

JavaArray合并数组 目录(?)[+] 一apache-commons 二Systemarraycopy 三ArrayscopyOf 四ArraynewInstance http://freewind.me/blog/20110922/350.html 在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是最简单的办法.在apache-commo