我想知道在以下情况下深度复制是如何工作的:
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()
时不更改实例变量。