Guía de diagnóstico

IndexError: el índice está fuera de los límites de la secuencia

“list index out of range” casi siempre significa que tu modelo sobre la longitud o los límites no coincide con los datos que existen en ese momento.

Revisado 2026-09-30Ejemplos y diagnóstico

Dibuja los índices antes de corregir el bucle

valores = [10, 20, 30]
índice     0   1   2
negativo  -3  -2  -1

len(valores) es 3, pero el último índice positivo es 2. Esta diferencia explica muchos errores off-by-one.

El patrón que suele fallar

indices.py
valores = [10, 20, 30]
print(valores[len(valores)])

Si quieres el último elemento puedes usar valores[-1], siempre que la colección no esté vacía.

Pregunta si realmente necesitas el índice

mejor_recorrido.py
for valor in valores:
    print(valor)

Recorrer directamente los elementos evita una clase entera de errores de límites. Usa índices cuando la posición sea parte real del problema, no por costumbre.

Casos límite que debes probar

  • lista vacía;
  • un solo elemento;
  • primer índice;
  • último índice;
  • índice calculado a partir de otro dato.
Señal de que ya lo entiendesPuedes provocar este error con un ejemplo mínimo, explicar qué supuesto se rompió y elegir una corrección que conserve la intención del programa.

Referencia técnica: documentación oficial de excepciones de Python.