import time
def func1(size):
a = [None] * size
for i in range(size):
a[i] = i
def func2(size):
a = []
for i in range(size):
a.append(i)
def func3(size):
a = [i for i in range(size)]
size = 1000000
repeat = 100
t0 = time.time()
for _ in range(repeat):
func1(size)
t1 = time.time()
for _ in range(repeat):
func2(size)
t2 = time.time()
for _ in range(repeat):
func2(size)
t3 = time.time()
print(t1 - t0, t2 - t1, t3 - t2)
在这个简单的计时测试中,
[None] * n
的使用似乎确实要稍微快一点,但可以说不足以证明采用这种方法优于更常见的习惯用法结果:
[None * size]
然后索引:4.82秒用
size=1000
和repeat=100000
重复测试会得到类似的结果:[None * size]
然后索引:3.16秒还有{}和{}:
[None * size]
然后索引:6.09秒相关问题 更多 >
编程相关推荐