python dict 遍历key效率问题

来源:互联网 发布:青岛知行天下 编辑:程序博客网 时间:2024/06/03 13:03

如题

#!/usr/bin/env python# encoding: utf-8import 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)output-------------->41.570110969233.331320587433.1459584286

之前一直以为keys是最快的,后来发现查找一个key的时候居然还没有has_key()快,后来在网上查看发现了这个,感觉有点收获了。python3取消了has_key以后就可以用for _ in testDict:这个方式来进行索引了。

1 0
原创粉丝点击