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中声明只包含一个元素的元组数据方法
Aug 25 Python
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python直接获取API传递回来的参数方法
Dec 17 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
python实现文件分片上传的接口自动化
Nov 19 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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
德劲1103二次变频版的打磨
2021/03/02 无线电
在IIS上安装PHP4.0正式版
2006/10/09 PHP
基于initPHP的框架介绍
2013/04/18 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php限制ip地址范围的方法
2015/03/31 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
JS求平均值的小例子
2013/11/29 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
python 实现视频 图像帧提取
2019/12/10 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
农村婚礼证婚词
2014/01/10 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
公务员政审材料
2014/12/23 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang