python中两个字典的合并

  • 时间:
  • 7805人关注

python合并两个字典的方法有:1、dictMerged1 = dict( dict1.items() + dict2.items() ) ;2、dictMerged2 = dict( dict1, **dict2 )等等。,另外这篇文章主要知识点是关于python、合并两个字典、Python的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

python怎么合并两个字典

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里def知识点详解

下一篇:Python脚本的调试和分析实例讲解

相关内容

  • Python如何限制输出日志的大小

    这篇文章主要介绍了Python 限制输出日志的大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    05-06Python限制日志大小

    阅读更多
  • python实现可视化的MD5、sha256哈希加密小工具

    这篇文章主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    04-07python MD5、sha256哈希加密

    阅读更多
  • Python gevent协程切换实现方法

    这篇文章主要介绍了Python gevent协程切换实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    04-07Python gevent协程切换

    阅读更多
  • python/golang实现循环链表的代码

    这篇文章主要介绍了python/golang如何实现循环链表,帮助大家更好的理解和学习循环链表的实现方法,感兴趣的朋友可以了解下

    04-07python/golang 循环链表

    阅读更多
  • 2020版Python学习路线图(附学习资料)

    这篇文章主要介绍了Python学习路线图(2020最新版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    04-07Python学习路线图

    阅读更多
  • 从零开始学Python数据分析与挖掘

    从零开始学Python数据分析与挖掘

    本书以Python 3版本作为数据分析与挖掘实战的应用工具,从Pyhton的基础语法开始,陆续介绍有关数值计算的Numpy、数据处理的Pandas、数据可视化的Matplotlib和数据挖掘的Sklearn等内容。

    大小:67.8 MB数据挖掘

    点击下载
  • Python学习手册

    Python学习手册

    Python新手入门必看之作,位居美亚电脑编程热销第一,《Python编程》姊妹篇遮盖Python3.3和Python2.72个版本号,详尽解读各种各样語言特点,并增加很多实例 这书依据Python权威专家MarkLutz的知名课

    大小:123 MBPython手册

    点击下载
  • 用Python写网络爬虫

    用Python写网络爬虫

    做为这种方便快捷地搜集在网上信息内容并从这当中提取出能用信息内容的方法,网络爬虫技术性变得更加有效。应用Python那样的简易计算机语言,你能应用小量程序编写专业技能就能够抓取

    大小:9.9 MBPython爬虫

    点击下载
  • Python程序设计开发宝典

    Python程序设计开发宝典

    本书深入剖析Python 3.5.x、Python 3.6.x及更新版本的内置对象和标准库对象高级用法,150个案例源代码和超过1000个演示性代码片段,可以作为Python程序设计教材

    大小:42.8 MBPython

    点击下载
  • Python游戏编程快速上手(第4版)

    Python游戏编程快速上手(第4版)

    本书通过小巧有趣的游戏来教授Python编程,采用直接展示游戏的源代码并通过实例来解释编程的原理的方式,帮助读者掌握Python游戏编程的基本技能,适合不同年龄和层次的Python编程初学者阅读

    大小:41.2 MBPython

    点击下载
  • 量化交易之路:用Python做股票量化分析

    量化交易之路:用Python做股票量化分析

    本书从对量化交易的正确认识出发,循序渐进地讲解了量化交易所需要了解的各种知识及工具,详解趋势跟踪、统计套利、机器学习等量化技术;提供了大量基于真实交易的实例

    大小:103.8 MBPython

    点击下载
  • Python接口自动化测试

    Python接口自动化测试

    正确引导测试工程师攻破Python新手入门难题 出示可落地式的HTTP协议书插口自动化技术脚本制作、切切实实的可软件环境 有着《Python接口自动化测试》,就有着全套的源代码,依照这书的自然

    大小:61.2 MBPython自动化

    点击下载

学习笔记