2016-10-28 124 views
0

對不起,如果這個問題已經在某個地方回答了,但我找不到我在找什麼!從另一個數組的索引查找矩陣元素 - python

所以說,我有一個矩陣/陣列這樣

a = [[1,2,3], [4,5,6], [7,8,9]] 

與類似下面的,這是爲了表明,我想檢索上述矩陣元素的索引數組...

b = [2,0,1] # get the 2nd element from a[0], the 0th from a[1] and 1st from a[2] 

我想要的是像

c = magic (a,b) 
c = [3,4,8] # elements correspondent with the indexes from b 

美中不足的是,我想這樣做沒有循環(不用於/ while或同類者) 我試着做這樣的事情...

c = a[:,b[:]] 

卻無濟於事....有沒有別的東西,我可以嘗試?

回答

0

像列表解析:

c = [ a[indx][b[indx]] for indx in range(len(b)) ] 
    print C#[3, 4, 8] 
0

使用列表理解和zip以達到:

a = [[1,2,3], [4,5,6], [7,8,9]] 
b = [2,0,1] 
c = [a[i][j] for i,j in zip(range(len(b)), b)] 
print(c) 
# Output [3, 4, 8] 
相關問題