【发布时间】:2022-10-19 00:49:04
【问题描述】:
我有一个数组 A :
A = [[1, 2 ,3 ,4],
[5, 6 ,7 ,8],
[9, 10 ,11 ,12],]
我想获得第三个元素中的第二行(即'7'):
我可以这样做:
A[1,2]
对于一般尺寸编号,我想要一些通用的东西。 给定索引列表 B=[1,2] 我想要像 MATLAB 索引这样的东西:
A[B] 或 A[*B]
第一个给出 2 行,第二个导致错误。 我怎样才能做到这一点?
编辑:类型(A)=类型(B)=np.array
【问题讨论】:
-
我们谈论标准的 Python 3 列表吗?因为 A[1, 2] 和 A[[1, 2]] 都是非法的,会导致
TypeError: list indices must be integers or slices, not tuple错误。还是例如numpy的数组? -
np.array。谢谢你的注意。我会在问题中澄清
-
我找到了这个(丑陋的)解决方案: B = tuple( np.reshape(B,(1, len(B)))) 而不是: A(B) 希望有更好的解决方案
标签: python indexing numpy-ndarray