博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python】Python遍历dict的key最高效的方法是什么?
阅读量:5988 次
发布时间:2019-06-20

本文共 823 字,大约阅读时间需要 2 分钟。

来源:

 

方法一:直接遍历 速度快

for key in _dict:    pass

方法二:iterkeys() 速度快

for _ in testDict.iterkeys():        pass

方法三:keys()  速度慢  因为keys()须要形成一个列表,构建一个列表对于一个大的dict开销是很大的。

for _ in testDict.keys():        pass

 

时间对比:

import timeitDICT_SIZE = 100*10000testDict = dict()for i in range(DICT_SIZE):    testDict[i] = i  # 构建大小为100W的字典assert len(testDict) == DICT_SIZEdef test1():    for _ in testDict.keys():        passdef test2():    for _ in testDict:        passdef test3():    for _ in testDict.iterkeys():        pass# 分别测试2K次print timeit.timeit("test1()", setup="from __main__ import test1", number=2000)  print timeit.timeit("test2()", setup="from __main__ import test2", number=2000)print timeit.timeit("test3()", setup="from __main__ import test3", number=2000)

输出

54.1994677764
30.2660675759
31.3075812315

是windows + python 2.7的结果

转载地址:http://fynlx.baihongyu.com/

你可能感兴趣的文章
eclipse安装egit上传和clone项目到github
查看>>
Matplotlib -多组线用不同的线性、颜色、节点绘制
查看>>
JavaScript中BOM的基础知识总结
查看>>
Visual Stuido 2015 Community 使用 GitHub 插件
查看>>
如何跳转到AppStore的?
查看>>
c# 调取墨迹调用墨迹天气接口保存到数据库
查看>>
语法面试等题目汇总
查看>>
ZOJ 2158 POJ 1789 Truck History
查看>>
webpack图片的路径与打包
查看>>
TCP三次握手/四次挥手
查看>>
hadoop的输入和输出文件
查看>>
转:Appium——appium安卓常用操作封装
查看>>
Listview和Gridview自定义分割线
查看>>
一个两年java程序猿的2017个人总结
查看>>
[J2EE规范]RMI简单实例 ...
查看>>
react阻止冒泡事件
查看>>
BZOJ 1072 排列
查看>>
存储过程的增删改
查看>>
迭代器和生成器
查看>>
交叉编译OpenSSL
查看>>