在python中访问n维矩阵的第j维
鉴于: 整数输入j,d,使得0在python中访问n维矩阵的第j维,python,numpy,multidimensional-array,indexing,dimensions,Python,Numpy,Multidimensional Array,Indexing,Dimensions,鉴于: 整数输入j,d,使得0
c[1]>u[,1]
我想访问
T[(a[0]):(b[0]),...,(a[j]-1):(b[j]+1),...,(a[n-1]):(b[n-1])]
我想知道是否有一种通用的方法可以做到这一点,特别是在d和j可以是变量的情况下
类似的问题可以在这里找到:
.从切片构造索引元组:
In [88]: a = [1,0,4]; b = [4,1,None]
In [89]: idx = [slice(i,j) for i,j in zip(a,b)]
In [90]: idx
Out[90]: [slice(1, 4, None), slice(0, 1, None), slice(4, None, None)]
In [91]: arr = np.arange(5*3*7).reshape(5,3,7)
In [92]: arr[tuple(idx)]
Out[92]:
array([[[25, 26, 27]],
[[46, 47, 48]],
[[67, 68, 69]]])
In [93]: _.shape
Out[93]: (3, 1, 3)
构建一个索引元组,如链接的可接受答案所示。使用切片对象。如果比较容易,可以从列表或数组开始,并在使用前转换为元组。