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 相关文章推荐
Tornado Web服务器多进程启动的2个方法
Aug 04 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
python中print的不换行即时输出的快速解决方法
Jul 20 Python
详解PyTorch批训练及优化器比较
Apr 28 Python
Python列表对象实现原理详解
Jul 01 Python
python实现在函数中修改变量值的方法
Jul 16 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
Pycharm中配置远程Docker运行环境的教程图解
Jun 11 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
python 逐步回归算法
Apr 06 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
PHP设计聊天室步步通
2006/10/09 PHP
php文档更新介绍
2011/07/22 PHP
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
pymysql模块的操作实例
2019/12/17 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
keras 多gpu并行运行案例
2020/06/10 Python
pandas DataFrame运算的实现
2020/06/14 Python
python中数字是否为可变类型
2020/07/08 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
个人自荐书
2013/12/20 职场文书
药学职务聘任书
2014/03/29 职场文书
心理健康日活动总结
2014/05/08 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
队名及霸气口号大全
2015/12/25 职场文书
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript