2010-10-21 22 views
6

Me he encontrado con un pequeño problema. Decir que tengo dos listas:Python: Comparando listas

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

que a continuación tiene una lista de listas:

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

Me continuación, tendrá que recorrer list_A y list_B y eficaz utilizarlos como coordenadas. Por ejemplo, tomo el primer número de la lista A y B que sería '0' y '2', luego los uso como coordenadas: print matrix[0][2]

Necesito hacer lo mismo para el segundo número de la lista A y B y el 3er. Número en la lista A y B, y así sucesivamente durante el tiempo que sea de la Lista A y B como sea. ¿Cómo hacer esto en un bucle?

Respuesta

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

resuelto mi problema TypeError también :) – Steven

0

La función 'zip' puede ser de alguna utilidad aquí. Generará una lista de pares de list_A y 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)]