【python】deepcopy深拷贝浅拷贝(结合例子理解)
deepcopy 是 Python copy 模块中的一个函数,用来创建一个对象的完全独立副本,包括其内部嵌套的所有对象。
它解决的问题是:当你复制一个复杂的数据结构(如列表套列表、对象套对象)时,如果你只是普通的赋值或用 copy.copy()(浅拷贝),内部结构仍然共享内存,一改全改。而 deepcopy 会彻底复制所有层级,互不影响。
代码对比
1.使用deepcopy结果
from copy import deepcopya = [1, 2, [3, 4]]
b = deepcopy(a)
b[2][0] = 99print(a)  # 原列表没变 → [1, 2, [3, 4]]
print(b)  # 变了 → [1, 2, [99, 4]]

2.未使用浅拷贝
from copy import deepcopya = [1, 2, [3, 4]]
b = a
b[2][0] = 99print(a) 
print(b) 

总结
| 方法 | 是否复制内部结构? | 是否互相影响? | 
|---|---|---|
| = | ❌(只是引用) | ✅ | 
| copy.copy()(浅拷贝) | ⚠️ 只复制最外层 | ✅(嵌套结构共享) | 
| copy.deepcopy() | ✅(所有层级都复制) | ❌(完全独立) | 
