我想知道是否有人知道从给定索引列表中获取2D数组元素的快速方法
下面的代码实现了我想要的功能,但是我想知道在下面的代码中是否有更快的方法来完成循环中的操作?我要寻找的是类似于array[wantedindex]的命令,而不是下面代码中的循环
import numpy as np
np.random.seed(1)
x = np.arange(0, 1+.1, .25)
y = np.arange(0, 1+.1, .25)
x, y = np.meshgrid(x,y)
print('\n x \n', x,)
index = [(np.random.randint(0, high=len(x)), np.random.randint(0, high=len(x))) for i in range(len(x))]
print('\n index \n', index)
for indexNumber in range(len(index)):
print('\n index[%d]:' %indexNumber, index[indexNumber], '\n x[index[%d]] \n' %indexNumber, x[index[indexNumber]])
上面的代码生成以下输出:
x
[[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]
[0. 0.25 0.5 0.75 1. ]]
index
[(3, 4), (0, 1), (3, 0), (0, 1), (4, 4)]
index[0]: (3, 4)
x[index[0]]
1.0
index[1]: (0, 1)
x[index[1]]
0.25
index[2]: (3, 0)
x[index[2]]
0.0
index[3]: (0, 1)
x[index[3]]
0.25
index[4]: (4, 4)
x[index[4]]
1.0
目前没有回答
相关问题 更多 >
编程相关推荐