Al trabajar con listas, a menudo se produce una situación llamada desbordamiento de la lista. Esto ocurre cuando te refieres a un índice inexistente:
animals = ['cats', 'dogs', 'birds']
# El elemento con el índice 5 no existe
animales[5] # IndexError: list index out of range
En diferentes lenguajes de programación, el comportamiento en caso de desbordamiento se realiza de diferentes maneras. A veces ocurre un error, a veces no, y a veces este tipo de desbordamiento devuelve datos aleatorios del bloque de memoria adyacente, como en C, lo que puede llevar a un desastre ⚠️
animals = ['cats', 'dogs', 'birds']
# Desbordamiento de la lista
animales[5] # IndexError: list index out of range
animales[4] # IndexError: list index out of range
animales[3] # IndexError: list index out of range
# ¡Hurra, hemos llegado a los límites de la lista! :)
animales[2] # 'birds'
🚫 En la gran mayoría de los casos, el desbordamiento de la lista es un comportamiento indeseable. Ocurre debido a errores lógicos en el programa. Mientras tanto, el programa puede funcionar e incluso a veces dar el resultado correcto. La forma más sencilla de verificar si hay un desbordamiento es asegurarte de que el índice sea menor que la longitud de la lista. Esto se puede hacer con la función len():
animals = ['cats', 'dogs', 'birds']
índice = 1
# Es importante que sea <, no <=.
# porque tal índice no existe len(animals) = 3
if índice < len(animales):
animal = animales[índice] # todo perfecto!
print(animal) # => dogs
Con el tiempo, aprenderás a identificar estas situaciones y a corregirlas rápidamente. Pero incluso los programadores experimentados frecuentemente cometen errores al manejar listas.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.