IndexError en python



   AUTOR PREGUNTA

Publicado 29 julio 2014 - 22:51

Estoy trabajando con python y tengo el siguiente codigo:

lists = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
for i in range(len(lists)): for k in [-1,0,1]:
print, lists[i+k][0]
print 11 1 6 1 6 11 6 11

El cual me da el siguiente error: IndexError: list index out of range

Alguna sugerencia? Gracias de antemano.


¿Tienes la misma pregunta? Yo también

 

Publicado 30 julio 2014 - 05:48

Te recomiendo que uses un if detro de tu ciclo.

 

Publicado 30 julio 2014 - 05:48

Exacto, con un if se deberia solucionar:

for k in [-1, 0, 1]: idx = i+k if idx < 0:
raise IndexError, 'list index is out of range'
print lists[idx][0]

   AUTOR PREGUNTA

Publicado 30 julio 2014 - 06:11

Gracias por la ayuda Joel, ya lo pude solucionar