python基础===两个list合并成一个dict的方法
def Run():
list2 = [, , , , ];
list3 = ["a", "b", "c", "d","e"];
dict={};
i=;
length=len(list2);
while i<length:
'dict[list2[i]]=list3[i];这种方法也可以'
dit={list2[i]:list3[i]};
dict.update(dit);
i+=;
return dict; if __name__ == '__main__':
print Run();
图上代码,可以实现不使用内置函数的操作!
使用内置函数的话,zip的方法:
>>> l1=[1,2,3,4,5,6]
>>> l2=[4,5,6,7,8,9]
>>> print(dict(zip(l1,l2)))
{1: 4, 2: 5, 3: 6, 4: 7, 5: 8, 6: 9}
那么还有一种情况,当两个list的长度不一样,如果要组成dict的话,怎么办呢?按逻辑处理是这样的:
>>> ls1 = ['PID', 'USERNAME', 'THR', 'PRI', 'NICE', 'SIZE', 'RES', 'STATE', 'TIME', 'WCPU', 'COMMAND']
>>> ls2 = ['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:', 'ip6opt', 'ipopt']
>>>#先让ls2和ls1等长,然后再zip
>>> ls3=ls2[0:len(ls1)]
>>> ls3
['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:']
>>>
>>>print(dict(zip(ls1,ls3)))
{'PID': '32', 'USERNAME': 'root', 'THR': '1', 'PRI': '-36', 'NICE': '-155', 'SIZE': '0K', 'RES': '16K', 'STATE': 'WAIT', 'TIME': '0:00', 'WCPU': '0.00%', 'COMMAND': 'swi3:'}
但是实际上,我们直接执行这个就可以:
>>> ls1=[1,2,3,4,5,6,7]
>>> ls2=[4,5,89,1]
>>> print(dict(zip(ls1,ls2)))
{1: 4, 2: 5, 3: 89, 4: 1}
它会自动的匹配!自动的省去多余的部分!
python 爱好者交流群:810306356,如果你有兴趣,欢迎加进来!
python基础===两个list合并成一个dict的方法的更多相关文章
- Clojure:将两个list合并成一个map
假设我们有两个list,分别是: (def a [“one” “two” “three”]) (def b [1 2 3]) 我们要把它们合为一个键值对应的map,做法很简单: 1. 先将a和b合为一 ...
- 将WinForm程序(含多个非托管Dll)合并成一个exe的方法
原文:将WinForm程序(含多个非托管Dll)合并成一个exe的方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. ILMerge能把托管dl ...
- python中如何将两个list合并成一个list,不用for语句
1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] ...
- 将两个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 ...
- 如何将两个json合并成一个
//调用方法: var targetObject = [{name:"11",age:11}]; var sourceObject = [{name:"22", ...
- 两个NSMutableDictionary合并成一个NSMutableDictionary
解决方案: NSMutableDictionary *targetMutableDictionary = [mutableDictionary1 copy]; [targetMutableDictio ...
- 怎样把网站js文件合并成一个?几种方法可以实现
我们在建网站时经常会用js特效代码以使页面更美观,比如js幻灯片代码.js下拉菜单等,但是网页特效一多,如果js文件没有合并的话会降低网站的性能,这时我们就要考虑合并js文件了,ytkah总结了以下几 ...
- restful风格url Get请求查询所有和根据id查询的合并成一个controller
restful风格url Get请求查询所有和根据id查询的合并成一个controller的方法 原代码 // 127.0.0.1:8080/dep/s @ApiOperation(value=&qu ...
随机推荐
- 第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境
POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...
- 一款代码高亮插件 -- SyntaxHighlighter
SyntaxHighlighter 是当前用得最多的一款代码高亮插件,包括本博客也用到了该插件来显示代码,大家可以看到效果了.只不过这是针对WordPress的一款代码高亮插件,而今天我要给大家介绍的 ...
- Python网络编程(进程通信、信号、线程锁、多线程)
什么是进程通讯的信号? 用过Windows的我们都知道,当我们无法正常结束一个程序时, 可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢? 同样的功能在Linux上是通过生成信号和捕获信号来实 ...
- LINQ学习笔记——(3)基本查询操作符
Select() 作用于uIEnumerable<TSource>类型 public static void Test() { List<string> persons = n ...
- ardupilot_gazebo仿真(三)
ardupilot_gazebo仿真(三) 标签(空格分隔): 未分类 创建ROS node 实现对无人机的控制(软件在环) MAVROS MAVROS是ROS中的一个能够连接支持MAVLink地面站 ...
- skip-grant-tables 修改linux的mysql忘记root密码
skip-grant-tables 修改linux的mysql忘记root密码 今天修改mysql中的admin用户权限,在执行update user set host =' %' where use ...
- 腾讯云,搭建 FTP 文件服务
腾讯云,搭建 FTP 文件服务 腾讯云,搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...
- Hyper-v创建检查点(VM的快照功能)
一. 问题描述 在Hyper的默认设置中没有创建检查点的功能,是因为他启用的并不是标准设置.设置检查点时会 二. 解决方法 再设置检查点就没问题了
- 最大流——EK算法
一.算法理论 [基本思想] 反复寻找源点s到汇点t之间的增广路径,若有,找出增广路径上每一段[容量-流量]的最小值delta,若无,则结束.在寻找增广路径时,可以用BFS来找,并且更新残留网络的值(涉 ...
- 软件工程项目组Z.XML会议记录 2013/11/06
软件工程项目组Z.XML会议记录 [例会时间]2013年11月06日星期二21:00-22:00 [例会形式]小组讨论 [例会地点]三号公寓楼会客厅 [例会主持]李孟 [会议记录]薛亚杰 会议整体流程 ...