python2中,dict.keys()的时间复杂度是O(n)
python3中,dict.keys()的时间复杂度是O(1)--python3待验证
以下是python2的代码及运行结果
import time
num = 10000
dic = {}
for i in range(num):
dic[i] = i
start = time.time()
for i in range(10000):
res1 = dic.keys()
end = time.time()
print end - start
start = time.time()
for i in range(10000):
res2 = dic[0]
end = time.time()
print end - start
0.465742111206
0.000839948654175
dict.keys()操作的耗时远远高于从dict中取某一元素的耗时