python 浅拷贝深拷贝
时间: 2023-09-14 20:02:29 浏览: 115
Python 中的浅拷贝 (shallow copy) 和深拷贝 (deep copy) 是两种非常重要的复制数据的方法。浅拷贝是在原始对象中创建一个新的引用,但是新的引用指向相同的数据。深拷贝是在原始对象中创建一个新的引用,并且新的引用指向一个新的数据对象,而这个新的数据对象完全复制了原始对象的所有数据。
比如说,假设我们有一个名为 list1 的列表,它包含另一个名为 list2 的列表。如果我们使用浅拷贝复制 list1,那么 list1 的新引用和原始引用都将指向同一个 list2。而如果我们使用深拷贝复制 list1,那么 list1 的新引用将指向一个完全复制了 list2 的新列表。
在 Python 中,可以使用 copy 模块的 copy() 函数来执行浅拷贝操作,使用 deepcopy() 函数来执行深拷贝操作。 例如:
```
import copy
list1 = [1, 2, [3, 4]]
# 浅拷贝
list2 = copy.copy(list1)
# 深拷贝
list3 = copy.deepcopy(list1)
list1[2].append(5)
print(list1) # 输出 [1, 2, [3, 4, 5]]
print(list2) # 输出 [1, 2, [3, 4, 5]]
print(list3) # 输出 [1, 2, [3, 4]]
```
这段代码将会输出一个原始列表 [1, 2, [3, 4, 5]] 和两个复制列表 [1, 2, [3, 4, 5]] 和 [1, 2, [3, 4]],演示了浅拷贝和深拷贝的区别。
阅读全文
相关推荐

















