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创建关联数组(字典)的方法
May 04 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Python configparser模块常用方法解析
May 22 Python
Python接口测试环境搭建过程详解
Jun 29 Python
python 如何快速复制序列
Sep 07 Python
用python爬虫批量下载pdf的实现
Dec 01 Python
python 高阶函数简单介绍
Feb 19 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
php操作JSON格式数据的实现代码
2011/12/24 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
python缩进区别分析
2014/02/15 Python
Python实现身份证号码解析
2015/09/01 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
python下载库的步骤方法
2019/10/12 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
自我鉴定怎么写
2013/12/05 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
开票员岗位职责
2015/02/12 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
Python实现仓库管理系统
2022/05/30 Python