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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
Python合并多个Excel数据的方法
Jul 16 Python
pytorch 调整某一维度数据顺序的方法
Dec 08 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
django 类视图的使用方法详解
Jul 24 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
django自带调试服务器的使用详解
Aug 29 Python
python 统计文件中的字符串数目示例
Dec 24 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
python 获取谷歌浏览器保存的密码
Jan 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
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
简单使用Python自动生成文章
2014/12/25 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python中list列表的高级函数
2016/05/17 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
python 下载文件的多种方法汇总
2020/11/17 Python
python不同版本的_new_不同点总结
2020/12/09 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
幼儿园运动会加油词
2014/02/14 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
年度考核个人总结
2015/03/06 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
专职安全员岗位职责
2015/04/11 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
2016年中秋祝酒词
2015/11/26 职场文书