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 内置函数complex详解
Oct 23 Python
python中requests和https使用简单示例
Jan 18 Python
详解Python如何生成词云的方法
Jun 01 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
Python字典遍历操作实例小结
Mar 05 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
Python操作Sqlite正确实现方法解析
Feb 05 Python
django 读取图片到页面实例
Mar 27 Python
Python request中文乱码问题解决方案
Sep 17 Python
python数字转对应中文的方法总结
Aug 02 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_encode 中文不显示)
2011/11/10 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
使用TensorFlow实现SVM
2018/09/06 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
神路信息Java面试题目
2013/03/31 面试题
升职自荐信
2013/11/28 职场文书
战友聚会邀请函
2014/01/18 职场文书
演讲主持词
2014/03/18 职场文书
教师听课评语大全
2014/12/31 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
python 单机五子棋对战游戏
2022/04/28 Python