Python中实现两个字典(dict)合并的方法


Posted in Python onSeptember 23, 2014

本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下:

现有两个字典dict如下:

dict1={1:[1,11,111],2:[2,22,222]}
dict2={3:[3,33,333],4:[4,44,444]}

合并两个字典得到类似:

{1:[1,11,111],2:[2,22,222],3:[3,33,333],4:[4,44,444]}

方法1:

dictMerged1=dict(dict1.items()+dict2.items())

方法2:

dictMerged2=dict(dict1, **dict2)

方法2等同于:

dictMerged=dict1.copy()
dictMerged.update(dict2)

或者:

dictMerged=dict(dict1)
dictMerged.update(dict2)

方法2比方法1速度快很多,用timeit测试如下

$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged1=dict(dict1.items()+dict2.items())'
  10000 loops, best of 3: 20.7 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged2=dict(dict1,**dict2)'
  100000 loops, best of 3: 6.94 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged3=dict(dict1)' 'dictMerged3.update(dict2)'
  100000 loops, best of 3: 7.09 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged4=dict1.copy()' 'dictMerged4.update(dict2)'
  100000 loops, best of 3: 6.73 usec per loop

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python单元测试框架unittest使用方法讲解
Apr 13 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python实现的端口扫描功能示例
Apr 08 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
pygame游戏之旅 添加游戏暂停功能
Nov 21 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
Python3 JSON编码解码方法详解
Sep 06 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
详解Python中第三方库Faker
Sep 25 Python
python使用bs4爬取boss直聘静态页面
Oct 10 Python
如何解决python多种版本冲突问题
Oct 13 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 #Python
Python中的类学习笔记
Sep 23 #Python
Python函数嵌套实例
Sep 23 #Python
Python中的自定义函数学习笔记
Sep 23 #Python
Python中的exec、eval使用实例
Sep 23 #Python
Python的高级Git库 Gittle
Sep 22 #Python
Python实现抓取网页并且解析的实例
Sep 20 #Python
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Python类的继承super相关原理解析
2020/10/22 Python
编辑找工作求职信范文
2013/12/16 职场文书
学校交通安全责任书
2014/08/25 职场文书
先进事迹演讲稿
2014/09/01 职场文书
扬州个园导游词
2015/02/06 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android