在 Julia 中,可以使用函数zeros(.)或来创建任意大小的数组ones(.)。是否有类似的函数来创建一个nothing在初始化时填充但也接受浮点数的数组?我的意思是像这个例子中的函数:
a = array_of_nothing(3)
# a = [nothing,nothing,nothing]
a[1] = 3.14
# a = [3.14,nothing,nothing]
Run Code Online (Sandbox Code Playgroud)
我试图在互联网上查找信息,但没有成功......对不起,我是 Julia 的初学者。
我在最小化过程中重复调用一个需要大数组的函数.这是一个虚拟的例子
def foo(N,a):
big_array = np.mgrid[0:N,0:N]
b = np.fft.fft2(big_array[0]**a) #some heavy computation
return b
Run Code Online (Sandbox Code Playgroud)
在最小化过程中,数组大小N不会改变,所以我想使用相同的数组来避免无用的计算和内存分配.
此外,我希望该函数foo是自洽的,这意味着我不希望另一个函数创建数组并foo在最小化过程中将其赋予.
鉴于这些要求,我想使用数组作为属性的可调用对象.你怎么看待这件事?有更多的pythonic方式吗?