me preguntaba en ¿cómo funciona exactamente deepcopy en el siguiente contexto:diccionario de Python deepcopy
from copy import deepcopy
def copyExample:
self.myDict = {}
firstPosition = "First"
firstPositionContent = ["first", "primero"]
secondPosition = "Second"
secondPositionContent = ["second"]
self.myDict[firstPosition] = firstPositionContent
self.myDict[secondPosition] = secondPositionContent
return deepcopy(self.myDict)
def addExample(self):
copy = self.copyExample()
copy["Second"].add("segundo")
¿Vuelve la referencia a las listas que tengo en el diccionario? ¿O funciona como espero y copia cada lista en una nueva lista con una referencia diferente?
Sé lo que es una copia profunda (así que no hay necesidad de explicar la diferencia entre profunda y superficial) pero me pregunto si funciona como espero y, por lo tanto, no modifico la variable de instancia cuando uso addExample()
.
¿Ha impreso los dos diccionarios para ver si son diferentes? ¿Qué viste? ¿Eran diferentes? Si es así, la copia tiene una nueva lista a la que agregó un elemento. –