Python合并2个字典成1个新字典的方法(9种)


Posted in Python onDecember 19, 2019

字典是Python语言中唯一的映射类型。

映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。
字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。

字典类型与序列类型的区别:

1. 存取和访问数据的方式不同。
2. 序列类型只用数字类型的键(从序列的开始按数值顺序索引);
3. 映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直4.接或间接地和存储数据值相关联。
5. 映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。
6. 映射类型用键直接“映射”到值。

d1 = {'name': 'revotu', 'age': 99}
d2 = {'age': 24, 'sex': 'male'}
输出:
{'name': 'revotu', 'age': 24, 'sex': 'male'}
# d = {}
# d.update(d1)       # 方法1,使用两次update方法向字典中添加元素
# d.update(d2)
# print(d)
# d = d1.copy()      # 方法2,先复制,后更新
# d.update(d2)
# print(d)
# d = dict(d1)        # 方法3,字典构造器
# d.update(d2)
# print(d)
# d = dict(d1, **d2)      # 方法4,关键字参数hack
# print(d)           # 只有一行代码,看上去很酷,但是有一个问题,这种hack技巧只有在字典的键是字符串时才有效。
# d = {k: v for d in [d1, d2] for k, v in d.items()}  # 方法5,字典推导式,字典推导式方法满足要求,只是嵌套的字典推导式,不那么清晰,不易于理解。
# print(d)
# d = dict(list(d1.items()) + list(d2.items()))    # 方法6,元素拼接
# print(d)
# d = dict(chain(d1.items(), d2.items()))        # 方法7,chain items    from itertools import chain
# print(d)
# d = dict(ChainMap(d1, d2))           # 方法8,itemscollections.ChainMap可以将多个字典或映射,在逻辑上将它们合并为一个单独的映射结构
# print(d)                    # 这种方法也很pythonic,而且也是通用方法   from collections import ChainMap
d = {**d1, **d2}       # 方法9,字典拆分
print(d)           # 在Python3.5+中,可以使用一种全新的字典合并方式,这行代码很pythonic

总结

以上所述是小编给大家介绍的Python合并2个字典成1个新字典的方法(9种),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python continue语句用法实例
Mar 11 Python
详尽讲述用Python的Django框架测试驱动开发的教程
Apr 22 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
Python实现把数字转换成中文
Jun 29 Python
python 二分查找和快速排序实例详解
Oct 13 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
关于Python中定制类的比较运算实例
Dec 19 #Python
在python中利用try..except来代替if..else的用法
Dec 19 #Python
Python字符串的修改方法实例
Dec 19 #Python
python中property和setter装饰器用法
Dec 19 #Python
python装饰器代替set get方法实例
Dec 19 #Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 #Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 #Python
You might like
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
JavaScript错误处理
2015/02/03 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Django中处理出错页面的方法
2015/07/15 Python
python实现实时监控文件的方法
2016/08/26 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
央视元宵晚会主持串词
2014/03/25 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
学生偷窃检讨书
2014/09/25 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
入学证明
2015/06/23 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
小学毕业感言100字
2015/07/30 职场文书
新年寄语2016
2015/08/17 职场文书
话题作文之成长
2019/12/09 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电