import time
import numpy as np
l = [x for x in range(1000000)]
npl = np.array(l, dtype=np.float)
print(len(l), len(npl))
t1 = time.time()
r1 = 0
for i in l:
r1 += i
t2 = time.time()
print('circle time: {}'.format(t2 - t1))
t1 = time.time()
r2 = sum(l)
t2 = time.time()
print('sum() time: {}'.format(t2 - t1))
t1 = time.time()
r3 = npl.sum()
t2 = time.time()
print('ndarray sum time: {}'.format(t2 - t1))
print('result : ', r1, r2, r3)
求1到1000000的和,分别用循环,python sum函数,numpy sum函数进行测试,测试结果如下:
可以看出numpy sum函数效率远远高于其他两个.