Python列表与阵列速度

时间:2015-11-07 12:17:32

标签: python arrays performance list numpy

我试图表明迭代NumPy数组比列表更快。我这样做是通过创建一个零数组并在其上循环以递增每个元素,并通过使用.append()构建一个零列表,然后再次循环它以增加每个元素。在我看来,阵列在这里肯定会更快,但它只会慢2倍!我的代码是:

import numpy as np
import time

N = 10000

# Check array
start = time.time()
arr = np.zeros(N, dtype = int)
for x in range(N):
    arr[x] += 1
end = time.time()

print("Array op took {} seconds".format(end - start))

# Check list
start = time.time()
ls = []
for x in range(N):
    ls.append(0)

for element in ls:
    element += 1

end = time.time()

print("List op took {} seconds".format(end - start))

这里出了什么问题?我认为NumPy阵列应该更快,我错了吗?

澄清w.r.t.重复标志,另一个问题没有讨论NumPy数组的遍历,只是它的重复实例化。它也是关于小型NumPy阵列,而不是大型阵列。

0 个答案:

没有答案