Python 使用其他数组索引数组(不使用for循环)
在numpy中是否有一种方法可以使用另一个数组对数组进行索引。例如,如果我有这个数组:Python 使用其他数组索引数组(不使用for循环),python,arrays,numpy,indexing,Python,Arrays,Numpy,Indexing,在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 = [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]
。(额外的单词,因为StackOverflow需要30个字符。我会发布一个演示,但我不能从这里运行一个,我不想伪造输出。)您尝试过a[b]
?因为它确实是这样的。如果你明确地指定numpy数组,问题会更清楚:a=numpy.array([1.0,2.0,3.0,4.0])
我尝试过几次更高维度的数组,最后得到了更多的轴,然后我开始并假设它只是创建了一个数组。