Мне было интересно, как именно 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")
Возвращает ли ссылка на списки, которые у меня есть в словаре? Или он работает так, как я ожидаю, и скопируйте каждый список в новый список с другой ссылкой?
Я знаю, что такое глубокая копия (поэтому нет необходимости объяснять разницу между глубоким и мелким), но мне интересно, работает ли она так, как я ожидаю, и поэтому не изменяю переменную экземпляра, когда я использую addExample()
.