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


Posted in Python onJune 25, 2014

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 相关文章推荐
Linux 发邮件磁盘空间监控(python)
Apr 23 Python
解决Python requests 报错方法集锦
Mar 19 Python
MySQL适配器PyMySQL详解
Sep 20 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python儿童学游戏编程知识点总结
Jun 03 Python
python的sorted用法详解
Jun 25 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python实现图片素描效果
Sep 26 Python
PyQt5中QSpinBox计数器的实现
Jan 18 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 Python
用python登录Dr.com思路以及代码分享
Jun 25 #Python
python正则表达式re模块详解
Jun 25 #Python
Python通过websocket与js客户端通信示例分析
Jun 25 #Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 #Python
Python中文编码那些事
Jun 25 #Python
教你如何在Django 1.6中正确使用 Signal
Jun 22 #Python
python抓取网页时字符集转换问题处理方案分享
Jun 19 #Python
You might like
AM/FM收音机的安装与调试
2021/03/02 无线电
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP如何编写易读的代码
2007/07/10 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php 文件缓存函数
2011/10/08 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
简述vue中的config配置
2018/01/23 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
Django实现简单分页功能的方法详解
2017/12/05 Python
为什么Python中没有"a++"这种写法
2018/11/27 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
退休感言
2014/01/28 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
拉贝日记观后感
2015/06/05 职场文书
处罚决定书范文
2015/06/24 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript