2011-11-18 14 views
6

¿Puede alguien decirme cómo puedo llamar para obtener los índices de una lista anidada?listas anidadas pitón

En general, me acaba de escribir:

for i in range (list) 

pero lo que si tengo una lista con las listas anidadas como esa:

Nlist = [[2,2,2],[3,3,3],[4,4,4]...] 

y yo quiero ir a través de los índices de cada uno separtly?

Gracias ...

+0

Necesita volver a escribir su pregunta y dejarla en claro. Su uso de "índices" es sospechoso; ¿Quizás quiso decir "artículos"? – tzot

+0

Esta es una pregunta acerca de caminar listas anidadas, la [otra] (http://stackoverflow.com/questions/8184768/comparing-lists-python) trata sobre la comparación de listas anidadas. – Kev

Respuesta

15

Si realmente necesita los índices sólo puede hacer lo que ha dicho de nuevo por la lista interna:

l = [[2,2,2],[3,3,3],[4,4,4] 
for i1 in xrange(len(l)): 
    for i2 in xrange(len(l[i1])): 
     print i1, i2, l[i1][i2] 

pero es más Pythonic para recorrer la lista en sí :

for inner_l in l: 
    for item in inner_l: 
     print item 

Si realmente necesita los índices también se puede utilizar enumerate:

for i1, inner_l in enumerate(l): 
    for i2, item in enumerate(inner_l): 
     print i1, i2, item, l[i1][i2] 
1

Usted puede hacer esto. Adaptarlo a su situación:

for l in Nlist: 
     for item in l: 
     print item 
2

Pruebe esta configuración:

a = [["a","b","c",],["d","e"],["f","g","h"]] 

Para imprimir el segundo elemento de la primera lista ("b"), utilice print a[0][1] - Para el segundo elemento de la tercera lista ("g"): print a[2][1]

Los primeros paréntesis hacen referencia a la lista anidada a la que está accediendo, el segundo par hace referencia al elemento de esa lista.

Cuestiones relacionadas