如何优化涉及 numpy 数组的函数?
用例:
def create_array_and_fill(a, b, N):
res = np.zeros(N, N)
res[0] = a
res[-1] = b
return res
c = create_array_and_fill(5, 9, 100)
但是,有时,我事先知道我需要使用的所有数组的最大大小(例如用于测试目的),那么最好的方法是什么?我应该预先分配吗?最好的方法是什么?例如,我可以将一个预先分配的数组传递给一个函数,以便该函数只更新它而不是返回一个新数组吗?
我的第一个想法如下,但当然,这是有代价的,我现在必须更改所有函数签名。
def create_array_and_fill(a, b, N, res):
res[0] = a
res[-1] = b
# No more return here?
c = np.zeros(N, N)
create_array_and_fill(a, b, N, c)