【发布时间】:2023-03-31 18:23:01
【问题描述】:
在 numpy 中有没有办法使用另一个数组来索引一个数组。例如,如果我有这个数组:
a = [1.0, 2.0, 3.0, 4.0]
还有这个数组
b = [3, 1, 1, 2]
是否有一种使用 b 索引 a 的方法,使得新数组的第 0 个分量是 a 的第 3 个分量,新数组的第一个分量是 a 的第一个分量,依此类推。
换句话说就是这样
[4.0, 2.0, 2.0, 3.0]
我知道使用 for 循环很容易做到这一点,但我明确希望避免使用 for 循环,因为我正在使用更高维数组执行此过程,结果是程序大幅减速。
【问题讨论】:
-
你试过
a[b]吗?因为它正是这样做的。 -
如果您明确指定 numpy 数组,问题会更清楚:
a = numpy.array([1.0, 2.0, 3.0, 4.0])
标签: python arrays numpy indexing