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 功能和特点(新手必学)
Dec 30 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
python实现简易淘宝购物
Nov 22 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 Python
在pycharm中创建django项目的示例代码
May 28 Python
python mysql中in参数化说明
Jun 05 Python
python绘制雷达图实例讲解
Jan 03 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 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 excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python数据结构之单链表详解
2017/09/12 Python
python简单商城购物车实例代码
2018/03/15 Python
python实现串口通信的示例代码
2020/02/10 Python
python线程join方法原理解析
2020/02/11 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
python如何做代码性能分析
2021/04/26 Python
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
python运算符之与用户交互
2022/04/13 Python