预分配多个相同形状的numpy数组

时间:2014-09-17 21:25:23

标签: python arrays matlab python-2.7 numpy

我正在为相同大小的numpy数组(模型网格化数据)计算许多属性。我更熟悉matlab语法,您可以使用类似于以下命令预先分配多个相同大小的数组:

[array1,array2,array3] = deal(NaN(size(array0)));

目前我的python2.7.7(numpy1.9.0)语法看起来非常可怕,重复且非常不像pythonic:

import numpy as np
array1 = np.ma.zeros(np.shape(array0))
array2 = array1.copy()
array3 = array1.copy()

有没有更好的方法来执行此数组预分配?我考虑使用一个列表,但我真的不确定最好,最简洁的方式来实现这个简洁明了。

1 个答案:

答案 0 :(得分:2)

array1,array2,array3,array4 = [np.ma.zeros(np.shape(array0)) for _ in range(4)]

也可以......