我认为一种方法是使用
slice(None):
>>> m = np.arange(2*3*5).reshape((2,3,5))>>> axis, start, end = 2, 1, 3>>> target = m[:, :, 1:3]>>> targetarray([[[ 1, 2], [ 6, 7], [11, 12]], [[16, 17], [21, 22], [26, 27]]])>>> slc = [slice(None)] * len(m.shape)>>> slc[axis] = slice(start, end)>>> np.allclose(m[slc], target)True
我有一种模糊的感觉,我以前曾经为此使用过一个函数,但是现在似乎找不到了。



