有没有一种简单的方法可以从对应于某些索引的数组中选择元素。示例:假设我有一个索引数组 IDX = array((3,7,5)) 和一个数组 A = array((2,5,3,1,7,5,1,9,7,4, 2,5)) 我想从中选择 A 中与 IDX 中给出的索引相对应的元素。
即我正在寻找这样的东西:
A[IDX] = array((1,9,5)) or
A[3,7,5] = array((1,9,5)).
使用 Numpy 我会这样做:
>>> import numpy as np
>>> IDX = np.array([3,7,5])
>>> A = np.array([2,5,3,1,7,5,1,9,7,4,2,5])
>>> A[IDX]
array([1, 9, 5])
我没有安装 numpy,但是使用标准 python 你可以使用列表理解,我猜 numpy 数组的行为应该不会有很大不同:
>>> IDX = (3,7,5)
>>> A = (2,5,3,1,7,5,1,9,7,4,2,5)
>>> [A[i] for i in IDX]
[1, 9, 5]