python中两个字典的合并
- 更新时间:2020-03-23 13:54:19
- 编辑:终姮娥
Python中将两个字典进行合并操作,是一个比较常见的问题。本文将介绍几种实现两个字典合并的方案,并对其进行比较。
对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为:
python两个字典合并(方法1)
dictMerged1 = dict( dict1.items() + dict2.items() )
然而,该方法合并时所用时间较长,效率更高的代码为:
python两个字典合并(方法2)
dictMerged2 = dict( dict1, **dict2 )
这种方法使用的是dict()工厂方法(Python2.2以上版本)。如果输入参数是另一个字典(此处为dict1),则调用该工厂方法时会从dict1中复制内容生成新的字典。该工厂方法从Python2.3版本开始,允许接受字典或关键字参数字典进行调用。
但应当注意,对于这种调用方式,dict()最多只接受一个参数(或者说是一组name=value的可变长参数),而不会再接受另一个字典。因此直观上的简单使用dict1与dict2两个参数的方法会提示如下错误:
>>> dictMerged = dict( dict1, dict2 ) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: dict expected at most 1 arguments, got 2
这也就是我们看到上面的方法2中使用的是**dict2的原因。熟悉C的朋友应当注意,在这里*的意思并不代表指针,这是Python中可变长函数参数的写法(关于可变长函数参数的相关知识见本文)。在这里,**的意思是基于字典的可变长函数参数。
方法2执行的是如同下面方法3中的代码,即先将dict1拷贝给dictMerged,在执行update()操作:
python两个字典合并(方法3)
dictMerged3 = dict1.copy() dictMerged3.update( dict2 )
对于第一步的复制操作而言,这种使用内建方法copy()的复制方式,和方法2中的复制结果是一样的,但根据《Core Python Programming (2nd edition)》一书中7.3.2节所述,从已存在字典中生成新字典的方式dictNew = dict( dictOld )较内建方法dictNew = dictOld.copy()会慢一些,因此书中推荐使用copy()方法。
因此,从这几种方式看来,方法3的效率最高,并且代码也比较易读。
相关推荐:《Python教程》
以上就是python怎么合并两个字典的详细内容,更多请关注码农之家其它相关文章!
相关教程
-
python 爬虫网页登陆的简单实现
这篇文章主要介绍了python 爬虫网页登陆的简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2021-05-02
-
Python (Win)readline和tab补全的安装方法
今天小编就为大家分享一篇Python (Win)readline和tab补全的安装方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-09-08
-
从零开始学Python数据分析与挖掘
本书以Python 3版本作为数据分析与挖掘实战的应用工具,从Pyhton的基础语法开始,陆续介绍有关数值计算的Numpy、数据处理的Pandas、数据可视化的Matplotlib和数据挖掘的Sklearn等内容。
大小:67.8 MB数据挖掘电子书
-
Python学习手册
Python新手入门必看之作,位居美亚电脑编程热销第一,《Python编程》姊妹篇遮盖Python3.3和Python2.72个版本号,详尽解读各种各样語言特点,并增加很多实例 这书依据Python权威专家MarkLutz的知名课
大小:123 MBPython手册电子书
-
用Python写网络爬虫
做为这种方便快捷地搜集在网上信息内容并从这当中提取出能用信息内容的方法,网络爬虫技术性变得更加有效。应用Python那样的简易计算机语言,你能应用小量程序编写专业技能就能够抓取
大小:9.9 MBPython爬虫电子书
-
Python程序设计开发宝典
本书深入剖析Python 3.5.x、Python 3.6.x及更新版本的内置对象和标准库对象高级用法,150个案例源代码和超过1000个演示性代码片段,可以作为Python程序设计教材
大小:42.8 MBPython开发电子书
-
Python游戏编程快速上手(第4版)
本书通过小巧有趣的游戏来教授Python编程,采用直接展示游戏的源代码并通过实例来解释编程的原理的方式,帮助读者掌握Python游戏编程的基本技能,适合不同年龄和层次的Python编程初学者阅读
大小:41.2 MBPython游戏编程电子书
-
量化交易之路:用Python做股票量化分析
本书从对量化交易的正确认识出发,循序渐进地讲解了量化交易所需要了解的各种知识及工具,详解趋势跟踪、统计套利、机器学习等量化技术;提供了大量基于真实交易的实例
大小:103.8 MB量化交易电子书
-
Python接口自动化测试
正确引导测试工程师攻破Python新手入门难题 出示可落地式的HTTP协议书插口自动化技术脚本制作、切切实实的可软件环境 有着《Python接口自动化测试》,就有着全套的源代码,依照这书的自然
大小:61.2 MBPython自动化