如何在python中指定未知数量的前面索引?

如何在python中指定未知数量的前面索引?,python,arrays,numpy,Python,Arrays,Numpy,我将(n\u功能,3)或(n\u示例,n\u功能,3)保存在一个数组中 是否有可能在不知道前面维度的数量的情况下,从末尾隐式地处理第二维度 现在我写 def get_feature(data, i): n = data.ndim if n == 2: return data[i,:] elif n == 3: return data[:,i,:] elif n == 4: return data[:,:,i,:] else:

我将
(n\u功能,3)
(n\u示例,n\u功能,3)
保存在一个数组中

是否有可能在不知道前面维度的数量的情况下,从末尾隐式地处理第二维度

现在我写

def get_feature(data, i):
   n = data.ndim
   if n == 2:
      return data[i,:]
   elif n == 3:
      return data[:,i,:]
   elif n == 4:
      return data[:,:,i,:]
   else:
      raise NotImplementedError
如何缩短?

您可以使用跳过前几个维度:

data[...,i,:]

例如:

它可以正确索引不同维度的数组。

您可以使用它跳过前几个维度:

data[...,i,:]

例如:

它可以正确索引不同维度的数组