select numpy数组不同行不同列的元素

select elements of different columns at different rows of numpy array

In [62]: a
Out[62]: 
array([[1, 2],
       [3, 4]])

有没有简单的方法得到[2,3],即第一行的第二个元素和第二行的第一个元素?我有每一行的索引列表,即本例中的 [1,0]。我已经尝试了 [:,[1,0]],但它不起作用。

您需要为所有需要的元素同时指定 i 和 j。例如:

import numpy as np
a = np.array([[1, 2],
              [3, 4]])
i = [0, 1]
j = [1, 0]
print(a[i, j])
# [2, 3]

如果您需要每一行中的一项,您可以使用 i = np.arange(a.shape[0])