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基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
python用requests实现http请求代码实例
Oct 31 Python
python框架django项目部署相关知识详解
Nov 04 Python
python3中numpy函数tile的用法详解
Dec 04 Python
基于python实现对文件进行切分行
Apr 26 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
Python 远程开关机的方法
Nov 18 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 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中的Base62类(适用于数值转字符串)
2013/08/12 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python文本数据相似度的度量
2018/03/12 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
python3转换code128条形码的方法
2019/04/17 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
pytorch 共享参数的示例
2019/08/17 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
Python换行与不换行的输出实例
2020/02/19 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
高中军训广播稿
2014/01/14 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
优秀员工事迹材料
2014/12/20 职场文书
中班下学期个人总结
2015/02/12 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA