如何使用包含要访问的索引号的数组获取numpy数组中的所有值

2024-04-20 00:42:59 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: thenumpy元素isnp数组result解决方案
2条回答

使用这个简单的列表理解,它遍历idxes,并在arr中的idxesi)中获得索引值:

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

输出:

['b', 'c']

如果它们是numpy数组:

print(arr[idxes])

输出:

['b' 'c']

另一种方式:

list(map(arr.__getitem__, idxes))

输出:

['b', 'c']

相关问题 更多 >