我正在处理多个多维数组。为了简单起见,让我们考虑一个虚拟示例:
array_list=[np.ones(3), np.ones((3,3,3)), np.ones((3,3)), np.ones(3)]
我需要订阅列表中每个数组的最外层维度。例如,我的目标是根据最外层尺寸的指定范围将某些元素设置为零:
array_list[0][0:2]=0
array_list[1][:,:,0:2]=0
array_list[2][:,0:2]=0
array_list[3][0:2]=0
在我的实际应用程序中,我不知道我有多少个数组以及其中有多少维。
我想在for循环中完成任务:
for array in array_list:
array[???]=0
但是,如果我不知道每个数组的维数,我将努力实现这一目标。
答案 0 :(得分:3)
使用Ellipsis选择除最后一个尺寸外的所有尺寸(如果只有1,则什么也没有选择)。
for array in array_list:
array[..., 0:2] = 0