我正在为相同大小的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()
有没有更好的方法来执行此数组预分配?我考虑使用一个列表,但我真的不确定最好,最简洁的方式来实现这个简洁明了。
答案 0 :(得分:2)
array1,array2,array3,array4 = [np.ma.zeros(np.shape(array0)) for _ in range(4)]
也可以......