Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用其他数组索引数组(不使用for循环)_Python_Arrays_Numpy_Indexing - Fatal编程技术网

Python 使用其他数组索引数组(不使用for循环)

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循环,因为我使用高维数组执行此过程,其结果是程序速度大大减慢

在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]
。(额外的单词,因为StackOverflow需要30个字符。我会发布一个演示,但我不能从这里运行一个,我不想伪造输出。)

您尝试过
a[b]
?因为它确实是这样的。如果你明确地指定numpy数组,问题会更清楚:
a=numpy.array([1.0,2.0,3.0,4.0])
我尝试过几次更高维度的数组,最后得到了更多的轴,然后我开始并假设它只是创建了一个数组。