DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited on

Ibuprofeno.py💊| #45: Explica este código Python

Explica este código Python

Dificultad: Intermedio

## Reto #45
lista_compras = ["huevos", "pan", "tomates", "leche"]
lista_compras.insert(100, "peras")
lista_compras.insert(-100, "manzanas")

print(lista_compras) 
Enter fullscreen mode Exit fullscreen mode

👉 A. ["huevos", "pan", "tomates", "leche"]
👉 B. ['manzanas', 'huevos', 'pan', 'tomates', 'leche', 'peras']
👉 C. ['peras', 'huevos', 'pan', 'tomates', 'leche', 'manzanas']
👉 D. IndexError


Respuesta en el primer comentario.

Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando • Edited

Respuesta:
👉 B. ['manzanas', 'huevos', 'pan', 'tomates', 'leche', 'peras']

Al intentar hacer lista_compras.insert(100, "peras") en nuestra lista lista_compras buscamos insertar el item peras en el index 100 de nuestra lista cuya longitud es solo de 4 items.
Al ser 100 un index extremadamente lejano para nuestra pequeña lista esto debería dar un error, pero no. El interprete de Python lo pondrá en este caso hasta el final; por eso nuestra lista termina con el item peras.

Del mismo modo al tratar con index negativos empezamos a asignar dichos index de derecha a izquierda, siendo peras el index -1, leche el index -2 y así sucesivamente. El index -100 nuevamente esta muy lejano pero Python lo asignará hasta el principio de la lista y por ello empieza con manzanas.