2016-10-28 14 views
0

この質問は既にどこかで解決されていますが、探しているものが見つかりませんでした。別の配列からのインデックスを持つ行列の要素を見つける - python

だから、私は上記の行列のために取得したい要素のインデックスを示すことになっている下記の1、のような配列を持つこの

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 

のようなものですLOOPS(用/中またはsimilarsなし) 私はこのような何かをやってみたことなし...

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] 
関連する問題