Alex 提到了内存效率,Roberto 提到了便利性,这些都是优点。对于更多的想法,我会提到速度和功能。
功能:NumPy、FFT、卷积、快速搜索、基本统计、线性代数、直方图等内置了很多功能。真的,没有 FFT 谁能生存?
速度:这是一个对列表和 NumPy 数组求和的测试,显示 NumPy 数组上的和快 10 倍(在这个测试中——里程可能会有所不同)。
from numpy import arange
from timeit import Timer
Nelements = 10000
Ntimeits = 10000
x = arange(Nelements)
y = range(Nelements)
t_numpy = Timer("x.sum()", "from __main__ import x")
t_list = Timer("sum(y)", "from __main__ import y")
print("numpy: %.3e" % (t_numpy.timeit(Ntimeits)/Ntimeits,))
print("list: %.3e" % (t_list.timeit(Ntimeits)/Ntimeits,))
在我的系统上(当我运行备份时)给出:
numpy: 3.004e-05
list: 5.363e-04