Explica este código Python
Dificultad: Intermedio
## Reto #68
my_dict = {"a":1, "b":2}
copy_my_dict = my_dict
my_dict["c"] = 3
print(copy_my_dict)
👉 A. TypeError
👉 B. {'a': 1, 'b': 2, 'c': 3}
👉 C. {'a': 1, 'b': 2}
👉 D. Ninguna de las anteriores
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
👉 B.
{'a': 1, 'b': 2, 'c': 3}
En Python los diccionarios se manipulan por referencia, esto quiere decir que
copy_my_dict
no es un nuevo diccionario sino que solo es una copia de la referencia al diccionario orinalmy_dict
, dicho de otra manera, cualquier cambio que se haga a la copia también se hará a al original por que comparten la misma dirección de memoria.Para solucionar esto podemos hacer uso del método
copy
:De esta manera el cambio solo se ve reflejado en la copia y no así en la variable original.