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 14 Python
Python中使用语句导入模块或包的机制研究
Mar 30 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
Python实现的多线程http压力测试代码
Feb 08 Python
浅谈python函数之作用域(python3.5)
Oct 27 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
如何完美的建立一个python项目
Oct 09 Python
编写python代码实现简单抽奖器
Oct 20 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
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
JavaScript延迟加载
2021/03/09 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
Python中基本的日期时间处理的学习教程
2015/10/16 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Python文件读写常见用法总结
2019/02/22 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
各营销点岗位职责范本
2014/03/05 职场文书
毕业生就业协议书
2014/04/11 职场文书
企业文明单位申报材料
2014/05/16 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python