庄泽波の博客

好记性不如烂笔头

python list 和 tuple, dict 用于迭代代价

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import time


start = time.time()
for i in range(1000000):
    a = (1, 2, 3, 4)
print time.time() - start

start = time.time()
for i in range(1000000):
    a = [1, 2, 3, 4]
print time.time() - start

如果要迭代一列数据,用tuple比list优。

0.107225894928
0.200721979141

结果可以看出,生成1000000数据产生的结果不一样。

 

test = dict((i, i) for i in range(1, 1001))

start = time.time()
for i in range(1000000):
    if i in test:
        pass
print time.time() - start

start = time.time()
for i in range(1000000):
    if test.has_key(i): 
        pass
print time.time() - start

另外,判断key是否存在时,用in 比 has_key优 

0.151313066483
0.189944982529

 

posted on 2014-01-26 15:10  庄泽波  阅读(286)  评论(0)    收藏  举报

导航