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采用requests库模拟登录和抓取数据的简单示例
Jul 05 Python
Python随机生成一个6位的验证码代码分享
Mar 24 Python
Python时间获取及转换知识汇总
Jan 11 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
下载官网python并安装的步骤详解
Oct 12 Python
python numpy中cumsum的用法详解
Oct 17 Python
Python partial函数原理及用法解析
Dec 11 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
python dataframe NaN处理方式
Dec 26 Python
python如何控制进程或者线程的个数
Oct 16 Python
Python实现简单的猜单词小游戏
Oct 28 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 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
如何让CI框架支持service层
2014/10/29 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
python跳出双层for循环的解决方法
2019/06/24 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
如何利用python发送邮件
2020/09/26 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
思想政治自我鉴定
2013/10/06 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
信用卡工作证明模板
2014/09/14 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
异地恋情人节寄语
2015/02/28 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers