在 Python 中,可以使用内置的 copy
模块来实现深拷贝和浅拷贝。
要实现深拷贝,可以使用 copy.deepcopy()
函数:
import copy
original = [1, [2, 3]]
deep_copy = copy.deepcopy(original)
在上面的代码中,deep_copy
变量将包含原来的列表的副本,包括其中的列表。因此,如果更改 deep_copy
中的任何内容,将不会影响 original
列表。
要实现浅拷贝,可以使用 copy.copy()
函数:
import copy
original = [1, [2, 3]]
shallow_copy = copy.copy(original)
在上面的代码中,shallow_copy
变量将包含原来的列表的浅副本。这意味着,如果更改 shallow_copy
中的列表,则也会更改 original
列表中的相应列表。
需要注意的是,深拷贝和浅拷贝的行为取决于要拷贝的对象的类型。例如,如果要拷贝的是一个列表,则可以使用上述方法进行深拷贝和浅拷贝。但是,如果要拷贝的是一个自定义对象,则可能需要在类中实现特定的方法,以支持深拷贝和浅拷贝。
此外,还可以使用 Python 的内置函数 id()
来检查两个对象是否具有相同的内存地