用给定数字增加数组的快速方法

lee*_*eet 3 python algorithm

假设我有一个非常大的数组,并且我想将数组中的每个元素增加给定的数字。有没有办法在不迭代所有元素的情况下做到这一点?

我不想对所有元素进行明显的迭代:

x = [ a + inc for a in x ]
Run Code Online (Sandbox Code Playgroud)

Dee*_*ace 5

我知道最快的方法之一是使用Numpy

from time import clock
li = range(500000)
start = clock()
li = [i+5 for i in li]
print "Time taken = %.5f" % (clock() - start)
>> Time taken = 0.06355
Run Code Online (Sandbox Code Playgroud)

VS

from time import clock
import numpy as np
li = range(500000)
li = np.array(li)
start = clock()
li += 5
print "Time taken = %.5f" % (clock() - start)
>> Time taken = 0.00055
Run Code Online (Sandbox Code Playgroud)

请注意,我没有对列表本身的创建和Numpy数组的创建进行计时。