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 对输入的数字进行排序的方法
Jun 23 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
numpy求平均值的维度设定的例子
Aug 24 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
PyMongo 查询数据的实现
Jun 28 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验证码类分享
2014/11/18 PHP
php实现对象克隆的方法
2015/06/20 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
python下载文件时显示下载进度的方法
2015/04/02 Python
Python中的rjust()方法使用详解
2015/05/19 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
python中自带的三个装饰器的实现
2019/11/08 Python
python如何获取apk的packagename和activity
2020/01/10 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
python中有帮助函数吗
2020/06/19 Python
Python实现像awk一样分割字符串
2020/09/15 Python
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
2014年人事部工作总结
2014/12/03 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
2019大学生实习报告
2019/06/21 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android