python 字典(dict)遍历的四种方法性能测试报告

 更新时间:2014年06月25日 11:33:00   投稿:hebedich  
本文主要是针对Python的字典dict遍历的4种方法进行了性能测试,以便分析得出效率最高的一种方法

python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试

l = [(x,x) for x in xrange(10000)]
d = dict(l)

from time import clock

t0=clock()
for i in d:
 t = i + d[i]
t1=clock()

for k,v in d.items():
 t = k + v
t2=clock()

for k,v in d.iteritems():
 t = k + v
t3=clock()

for k,v in zip(d.iterkeys(),d.itervalues()):
 t = k + v
t4=clock()

print t1-t0, t2-t1, t3-t2, t4-t3

将这段脚本运行5次,结果如下:

python test.py
0.00184039735833 0.00326492977712 0.00214993552657 0.00311549755797

python test.py
0.00182356570728 0.00339342506446 0.00234863111466 0.00321566640817

python test.py
0.00185107108827 0.00324563495762 0.00211175641563 0.00313479237748

python test.py
0.0018215130669 0.00320950848705 0.00215814608806 0.00322798225041

python test.py
0.00216635664955 0.00391807994377 0.00207604047314 0.00322757172233

显然第一种方法效率最高,第三种方法略差一点但相差无几,方法二四性能就差得多
不过实际的差别不是太大,不必过于纠结

相关文章

  • 使用Python向C语言的链接库传递数组、结构体、指针类型的数据

    使用Python向C语言的链接库传递数组、结构体、指针类型的数据

    今天小编就为大家分享一篇关于使用Python向C语言的链接库传递数组、结构体、指针类型的数据,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Pycharm 2to3配置,python2转python3方式

    Pycharm 2to3配置,python2转python3方式

    这篇文章主要介绍了Pycharm 2to3配置,python2转python3方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python图像运算之图像灰度非线性变换详解

    Python图像运算之图像灰度非线性变换详解

    这篇文章将详细讲解图像灰度非线性变换。图像灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,本文主要讲解三种常见类型的灰度非线性变换,感兴趣的可以了解一下
    2022-03-03
  • Python flask sqlalchemy的简单使用及常用操作

    Python flask sqlalchemy的简单使用及常用操作

    这篇文章主要介绍了Python flask sqlalchemy的简单使用及常用操作,在python中,常用的ORM工具就是sqlalchemy了。下面就以一个简单的flask例子来说明吧,需要的小伙伴可以参考一下
    2022-08-08
  • python使用beautifulsoup4爬取酷狗音乐代码实例

    python使用beautifulsoup4爬取酷狗音乐代码实例

    这篇文章主要介绍了python使用beautifulsoup4爬取酷狗音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python天气预报采集器实现代码(网页爬虫)

    Python天气预报采集器实现代码(网页爬虫)

    这个天气预报采集是从中国天气网提取广东省内主要城市的天气并回显。本来是打算采集腾讯天气的,但是貌似它的数据是用js写上去还是什么的,得到的html文本中不包含数据,所以就算了
    2012-10-10
  • django中ORM模型常用的字段的使用方法

    django中ORM模型常用的字段的使用方法

    这篇文章主要介绍了django中ORM模型常用的字段的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 解决使用python print打印函数返回值多一个None的问题

    解决使用python print打印函数返回值多一个None的问题

    这篇文章主要介绍了解决使用python print打印函数返回值多一个None的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Linux下升级安装python3.8并配置pip及yum的教程

    Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Windows中安装使用Virtualenv来创建独立Python环境

    Windows中安装使用Virtualenv来创建独立Python环境

    有时我们的程序中需要调用不同版本的Python包和模块,那么借助Virtualenv的虚拟环境就可以帮助我们隔离使用,接下来我们就来看一下在Windows中安装使用Virtualenv来创建独立Python环境的方法
    2016-05-05

最新评论