【发布时间】:2012-05-26 04:13:52
【问题描述】:
假设我有一个很大的浮点值列表,我只想选择其中一些查看另一个数组:
result = []
for x,s in zip(xlist, slist):
if f(s): result.append(x)
在循环开始时,我可以粗略估计有多少条目将通过f 选择
现在这很慢,我尝试将 list 更改为 array 但仅查看附加我会变慢
def f(v):
for ii in a: v.append(ii)
a = range(int(1E7))
v = []
t = time(); f(v); print time()-t # -> 1.3
v = array.array('i')
t = time(); f(v); print time()-t # -> 3.4
我需要更快,因为这个循环在我的程序中真的很慢。 numpy.array 可以帮助我吗?没有append 方法。
【问题讨论】:
标签: python optimization numpy append