La Trampa del Diccionario Dinámico
Dificultad: Medio Python intermediate coding
def add_item(item, lst=[]):
lst.append(item)
return lst
print(add_item('A'))
print(add_item('B'))
print(add_item('C')) 📥 Inputs:
N/A
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
¡Sorpresa! Los argumentos mutables por defecto en Python se evalúan UNA SOLA VEZ cuando se define la función, no cada vez que se llama. Todas las llamadas comparten la MISMA lista en memoria. Solución: usa lst=None y crea una nueva lista dentro de la función.
¿Qué imprime cada print? 🤔