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实现省市三级菜单效果
Jan 20 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
Python中类的初始化特殊方法
Dec 01 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
Python中捕获键盘的方式详解
Mar 28 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
利用Python检测URL状态
Jul 31 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 Python
Python实现动态循环输出文字功能
May 07 Python
Python机器学习之底层实现KNN
Jun 20 Python
一行Python命令实现批量加水印
Apr 07 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 cookies中删除的一般赋值方法
2011/05/07 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
Python实现图片识别加翻译功能
2019/12/26 Python
Python如何实现远程方法调用
2020/08/07 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
英国现代绅士品牌:Hackett
2017/12/17 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
幼儿园开学通知
2015/04/24 职场文书