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分析git log日志示例
Feb 27 Python
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
Django自定义manage命令实例代码
Feb 11 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
Apr 08 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
Python识别html主要文本框过程解析
Feb 18 Python
python 将html转换为pdf的几种方法
Dec 29 Python
如何用python绘制雷达图
Apr 24 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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
德生1994机评
2021/03/02 无线电
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php实现复制移动文件的方法
2015/07/29 PHP
php工具型代码之印章抠图
2018/07/18 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
python实战教程之自动扫雷
2018/07/13 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
如何现实servlet的单线程模式
2014/08/05 面试题
节能环保口号
2014/06/12 职场文书
会计学专业自荐信
2014/06/25 职场文书
财务检查整改报告
2014/11/06 职场文书
党小组意见范文
2015/06/08 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers
SQL Server 中的事务介绍
2022/05/20 SQL Server