从双循环追加数据

Appending data from a dual loop

我正在使用 pyresample 进行插值,我有一个如下所示的循环:

for l in range(len(lf[:,0,0,0])):
    for k in range(len(lf[0,:,0,0])):
        lf_nearest = pyresample.kd_tree.resample_nearest(origin_def, lf[l,k,:,:], target_def, radius_of_influence=50000, fill_value=0.5)

因此,如您所见,我为原始变量 "lf[l,k,:,:]" 的每个 l 和每个 k 计算了 "lf_nearest"。 我如何从这些循环中附加所有这些值,以便最终获得 4D lf_nearest[l,k,:,:]?

Python 中的基本迭代赋值 - 用列表演示:

In [159]: alist = [0,0,0,0,0]                                                   
In [160]: for i in range(len(alist)): 
     ...:     alist[i] = i*i 
     ...:                                                                       
In [161]: alist                                                                 
Out[161]: [0, 1, 4, 9, 16]

或者二维数组:

In [162]: arr = np.zeros((3,2),int)                                             
In [163]: arr                                                                   
Out[163]: 
array([[0, 0],
       [0, 0],
       [0, 0]])
In [164]: for i in range(arr.shape[0]): 
     ...:     for j in range(arr.shape[1]): 
     ...:         arr[i,j] = 10*i + j 
     ...:                                                                       
In [165]: arr                                                                   
Out[165]: 
array([[ 0,  1],
       [10, 11],
       [20, 21]])

但首选方法是使用整个数组操作,而不是迭代:

In [166]: np.arange(0,30,10)[:,None] + np.arange(2)                             
Out[166]: 
array([[ 0,  1],
       [10, 11],
       [20, 21]])