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 相关文章推荐
python魔法方法-自定义序列详解
Jul 21 Python
使用Python对Access读写操作
Mar 30 Python
Python清空文件并替换内容的实例
Oct 22 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
对python的输出和输出格式详解
Dec 08 Python
python http基本验证方法
Dec 26 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
Apr 27 Python
Django之创建引擎索引报错及解决详解
Jul 17 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
Aug 19 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
基于tensorflow权重文件的解读
May 26 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
PHP实现分页的一个示例
2006/10/09 PHP
php中的strpos使用示例
2014/02/27 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
python写入xml文件的方法
2015/05/08 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python3爬取各类天气信息
2018/02/24 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
应届生程序员求职信
2013/11/05 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
前台文员我鉴定
2014/01/12 职场文书
信息管理专业自荐书
2014/06/05 职场文书
企业领导对照检查材料
2014/08/20 职场文书
党课培训心得体会
2014/09/02 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
货款欠条范本
2015/07/03 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers