Алекс упомянул эффективность памяти, а Роберто упомянул удобство, и это оба хорошие моменты. Для еще нескольких идей я упомяну скорость и функциональность .
Функциональность: вы получаете много встроенного с помощью 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