array.array 和 list 效率对比

代码如下:

import timeit

SETUP = """
from array import array
from random import random,seed
seed(100)
"""

def clock(label, cmd):
    res = timeit.repeat(cmd, setup=SETUP, number=10, repeat=3)
    print(label, *('{:.3f}'. format(x) for x in res))

clock('array:', "array('d', (random() for i in range(10**7)))")
clock('list :', '[random() for i in range(10**7)]')

运行结果如下所示:

array: 14.230 14.167 14.225
list : 8.384 8.382 8.395

random 设置 seed,使得生成的数都一样,同样生成了 10**7 个数。总共跑了3次,每次重复10次。测试结果还是 list 列表比 array 快。 

你可能感兴趣的:(python)