假设我有以下两个numpy数组。 idxes包含我想从arr返回的元素的索引。

arr = ['a', 'b', 'c' ]
idxes = [1, 2]
// This is the result I'm after
result = ['b', 'c']


最初的想法是使用np.where和一个布尔数组,但使用起来似乎很尴尬,并且想知道是否有更优雅的解决方案,因为我对numpy相当陌生。

最佳答案

使用以下简单的列表理解,它遍历idxes并在idxes中的iarr)中获得带有索引的值:

print([arr[i] for i in idxes])


输出:

['b', 'c']


如果它们是numpy数组:

print(arr[idxes])


输出:

['b' 'c']

10-08 00:06