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中的迭代器漫谈
Feb 03 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
python解析含有重复key的json方法
Jan 22 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
Python 定义只读属性的实现方式
Mar 05 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
深度学习tensorflow基础mnist
Apr 14 Python
详解Python requests模块
Jun 21 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
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python学习笔记之if语句的使用示例
2017/10/23 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python获取中文字符串长度的方法
2018/11/14 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
java字符串格式化输出实例讲解
2021/01/06 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
党员培训思想汇报
2014/01/07 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers