我很好奇并且定时了。numpy.sum
对于numpy数组来说似乎要快得多,但在列表上要慢得多。
import numpy as np
import timeit
x = range(1000)
# or
#x = np.random.standard_normal(1000)
def pure_sum():
return sum(x)
def numpy_sum():
return np.sum(x)
n = 10000
t1 = timeit.timeit(pure_sum, number = n)
print 'Pure Python Sum:', t1
t2 = timeit.timeit(numpy_sum, number = n)
print 'Numpy Sum:', t2
结果x = range(1000)
:
Pure Python Sum: 0.445913167735
Numpy Sum: 8.54926219673
结果x = np.random.standard_normal(1000)
:
Pure Python Sum: 12.1442425643
Numpy Sum: 0.303303771848
我正在使用Python 2.7.2和Numpy 1.6.1