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 paramiko实现ssh远程访问的方法
Dec 03 Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 Python
python操作ie登陆土豆网的方法
May 09 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
python抓取网页中链接的静态图片
Jan 29 Python
python使用pycharm环境调用opencv库
Feb 11 Python
Python FFT合成波形的实例
Dec 04 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
tensorflow常用函数API介绍
Apr 19 Python
Python logging日志模块 配置文件方式
Jul 12 Python
使用Python实现音频双通道分离
Dec 25 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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
prototype class详解
2006/09/07 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue最简单的前后端交互示例详解
2018/10/11 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
2014年大学教师工作总结
2014/12/02 职场文书
会计岗位职责范本
2015/04/02 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
人民检察院起诉书
2015/05/20 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
教师反邪教心得体会
2016/01/15 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
详解MySQL的内连接和外连接
2023/05/08 MySQL