本文实例讲述了Python合并两个字典的常用方法与效率比较。分享给大家供大家参考。具体分析如下:

下面的代码举例了5种合并两个字典的方法,并且做了个简单的性能测试

#!/usr/bin/python

import time

def f1(d1, d2):

return dict(d1, **d2)

def f2(d1, d2):

return dict(d1.items() + d2.items())

def f3(d1, d2):

d = d1.copy()

d.update(d2)

return d

def f4(d1, d2):

d1.update(d2)

return d1

def f5(d1, d2):

d = dict(d1)

d.update(d2)

return d

def f6(d1, d2):

return (lambda a, b: (lambda a_copy: a_copy.update(b) or a_copy)(a.copy()))(d1, d2)

def f7(d1, d2):

d = {}

d.update(d1)

d.update(d2)

return d

def t(f, n):

st = time.time()

for i in range(1000000):

dic1 = {'a':'AA','b':'BB','c':'CC'}

dic2 = {'A':'aa','B':'bb','C':'cc'}

f(dic1, dic2)

et = time.time()

print '%s cost:%s'%(n, et-st)

t(f1, 'f1')

t(f2, 'f2')

t(f3, 'f3')

t(f4, 'f4')

t(f5, 'f5')

t(f6, 'f6')

t(f7, 'f7')

除了f4方法会对字典d1造成破坏性修改之外,另外的几种方法都是把合并的结果作为新的字典返回。

下面是测试结果:

f1 cost:2.382999897

f2 cost:4.45399999619

f3 cost:3.02100014687

f4 cost:1.73000001907

f5 cost:2.3710000515

f6 cost:2.89700007439

f7 cost:2.35600018501

可以看出f4最为高效,如果不需要保留原字典的话推荐使用f4方法。

希望本文所述对大家的Python程序设计有所帮助。

python字典合并最高效_Python合并两个字典的常用方法与效率比较相关推荐

  1. python 字典组成的列表_python - 合并多列表组成一个字典

    问 题 我把原始问题简化一下,希望各位大大帮忙 有2个等长list: idlist = [id1,id2,id3,id4,id5] userlist = [name1,name2,name3,name ...

  2. python中怎样向字典中添加值_python中向一个字典中加值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...

  3. python两个列表合并 从小到大排列_Python对两个有序列表进行合并和排序的例子...

    假设有2个有序列表l1.l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序. 思路是比较简单的,无非是依次比较l1和l2头部第一个元素,将比较小的放在一个新的列表中,以此类推, ...

  4. python合并列表重新排序_python – 将两个已排序的列表合并为一个更大的排序列表...

    我正在尝试创建一个合并函数,将在我正在进行的合并排序中使用. 我遇到了一些麻烦,我似乎无法找到错误. 我评论它试图向你们展示我的思考过程: def merge(aList, bList): newLi ...

  5. python合并csv文件_PYTHON合并CSV文件的实践

    最近尝试使用PYTHON处理CSV数据,由于CSV文件有好几个,需要提前拼接,然后再处理,因此遇到了PYTHON对文件进行合并的问题.此次尝试了两种方法:一是调用CMD命令处理:二是使用PYTHON写 ...

  6. python合并word表格_python合并word

    1 场景 合并多个word文件到一个文件中,用于文件的批量打印. 要求: 每个文件合并时,均从从一个新页面开始,文件之间的内容不连在一起. 文件的样式不发生改变. 2 方案 采用python实现,使用 ...

  7. python 拆分excel工作表_Python合并拆分excel

    Python 实现合并 defmerge_excel(dir):print('--- 执行合并 ---') filename_excel= [] #存表名 frames = [] #存表内容 d = ...

  8. 下列关于python字典变量的定义_Python变量类型 之 字典

    """ 3.1 字典的定义 1.dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型 2.字典同样可以用来 存储多个数据 1)通常用于存储 ...

  9. python字典数据的特点_Python核心数据类型之字典15

    一,字典 1. 字典在其它编程语言中又称为关联数组或散列表: 2. 特性: a. 通过键值实现元素存取: b. 无序集合: c. 可变类型容器: d. 长度可变: e. 支持异构: f. 支持嵌套: ...

  10. python计算长方形面积代码_Python计算两个矩形重合面积代码实例

    这篇文章主要介绍了Python 实现两个矩形重合面积代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 计算两个矩形的重合面积 imp ...

最新文章

  1. 谈 三层结构与MVC模式的区别
  2. 给程序员的几条建议,精彩配图!
  3. C++ 从函数或方法返回内存 实现返回多个变量
  4. osgCallback的实现方法及原理
  5. 利用Excel VBA SQL做特殊文件浏览器
  6. 安卓学习笔记31:使用自定义视图绘制文本、图形与图像
  7. 防止浏览器拦截的新窗口打开链接方案
  8. extjs4.1单击treepanel节点收缩叶子节点
  9. NYOJ-57 6174问题
  10. postgresql 9.1 基于wal的 pitr 恢复
  11. 费波纳奇数c语言,费波纳切数列用C语言怎么编程
  12. 把数据对象转成字符串_R语言处理环境监测数据(2):时间数据处理
  13. 网站服务器 开放端口扫描,端口扫描之开放端口扫描方式
  14. 科大讯飞语音合成Vue版教程
  15. 【计算机网络】路由器与交换机
  16. [JZOJ1320] 【Usaco2009 gold 】拯救奶牛
  17. oracle12c创建监听,Oracle 12c为PDB创建专用监听
  18. 【编程原则】预则立,不预则废
  19. element-UI el-dialog组件按ESC键关闭不了弹窗
  20. Jmeter 4.0+高分屏参数自动设置脚本

热门文章

  1. POJ3304 Segments
  2. 当要写验证性的代码时,利用git进行代码管理
  3. validated 验证数组_SpringBoot整合表单验证注解@Validated,以及分组验证
  4. 鸿蒙os framework,疯壳-鸿蒙OS-HDF驱动框架
  5. cefsharp.core.dll找不到指定模块_DeepFaceLab错误:DLL Load failed 找不到指定模块!
  6. redis 获取不到_redis系列之——缓存穿透、缓存击穿、缓存雪崩
  7. python json提取器_入门python爬虫,10分钟就够了,这可能是我见过最简单的基础教学...
  8. Path接口与Files工具类
  9. 约瑟夫环c语言不用链表,C语言基于循环链表解决约瑟夫环问题的方法示例
  10. spss中的aic值计算_常用SPSS数据处理方法,你都会吗?