我有一个3D矩阵,例如:
array([[[3., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[2., 0., 0.],
[0., 0., 0.]],
[[0., 0., 0.],
[12., 0., 0.],
[0., 0., 0.]]])
我想把它切成[:,0,:],[-1,::]。。所有6个方向都有一个for循环。所以对于每个维度,从第一个(0)和最后一个(-1)开始切片。你知道吗
应用for循环的正确方法是什么?你知道吗
假设数组的名称为A
:
A[0, :, :]
A[:, :, 0]
A[:, 0, :]
A[-1, :, :]
A[:, -1, :]
A[:, :, -1]
我想把这6个子矩阵(假设在一个列表中)放在一个循环中。你知道吗
现在还不清楚为什么要这样做,但是可以使用^{} 动态抓取子阵列:
此数组列表将按此顺序包含
arr[0,:,:]
、arr[-1,:,:]
、arr[:,0,:]
、arr[:,-1,:]
等。下面是数组列表中单个元素的证明:您的问题并不是关于顺序的太具体,但是对于您的切片需求的任意顺序,上面的问题很容易概括:
这与问题中指定的子阵列顺序相匹配。你知道吗
相关问题 更多 >
编程相关推荐