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.
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
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
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.