2

有没有一种简单的方法可以从对应于某些索引的数组中选择元素。示例:假设我有一个索引数组 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)).
4

2 回答 2

3

使用 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])
于 2012-07-06T16:05:22.303 回答
1

我没有安装 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]
于 2012-07-06T09:44:59.190 回答