假设我有一个非常大的数组,并且我想将数组中的每个元素增加给定的数字。有没有办法在不迭代所有元素的情况下做到这一点?
我不想对所有元素进行明显的迭代:
x = [ a + inc for a in x ]
Run Code Online (Sandbox Code Playgroud)
我知道最快的方法之一是使用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数组的创建进行计时。
| 归档时间: |
|
| 查看次数: |
5362 次 |
| 最近记录: |