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 17 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
python 调用钉钉机器人的方法
Feb 20 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 Python
详解python解压压缩包的五种方法
Jul 05 Python
python实现点击按钮修改数据的方法
Jul 17 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
Python如何用filter函数筛选数据
Mar 05 Python
Python脚本去除文件的只读性操作
Mar 05 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
Selenium 安装和简单使用的实现
Dec 04 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
Syphon 秘笈
2021/03/03 冲泡冲煮
基于empty函数的判断详解
2013/06/17 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
python实现图像识别功能
2018/01/29 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
opencv+python实现均值滤波
2020/02/19 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
公司请假条范文
2014/04/11 职场文书
美食节策划方案
2014/05/26 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
525心理健康活动总结
2015/05/08 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
广播体操比赛主持词
2015/06/29 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏