2010-10-21 19 views
6

Ho riscontrato un piccolo problema. Dire che ho due liste:Python: confronto degli elenchi

list_A = ['0','1','2'] 
list_B = ['2','0','1'] 

Ho quindi avere una lista di liste:

matrix = [ 
['56','23','4'], 
['45','5','67'], 
['1','52','22'] 
] 

Ho quindi bisogno di scorrere list_A e list_B ed efficace usarli come coordinate. Per esempio prendo il numero di firme dalla lista A e B che sarebbero '0' e '2', quindi li uso come coordinate: print matrix[0][2]

Ho quindi bisogno di fare lo stesso per il 2 ° numero nell'elenco A e B e il terzo numero nella lista A e B e così via per quanto lungo l'elenco A e B come sarebbe. Come si fa in un ciclo?

risposta

8
matrix = [ 
['56','23','4'], 
['45','5','67'], 
['1','52','22'] 
] 

list_A = ['0','1','2'] 
list_B = ['2','0','1'] 

for x in zip(list_A,list_B): 
    a,b=map(int,x) 
    print(matrix[a][b]) 
# 4 
# 45 
# 52 
+0

Ha risolto il problema TypeError troppo :) – Steven

0

La funzione "zip" potrebbe essere utile. Genererà un elenco di coppie da list_A e list_B.

for (x,y) in zip(list_A, list_B): 
    # do something with the coordinates 
2
[matrix[int(a)][int(b)] for (a,b) in zip(list_A, list_B)] 
Problemi correlati