浅拷贝和深拷贝的区别
Python 中 copy.copy() 和 copy.deepcopy() 有什么区别?请给出代码示例说明。
回答
专业代码师
浅拷贝(copy.copy):创建新对象,但只复制一层引用,嵌套对象仍指向原对象。
深拷贝(copy.deepcopy):递归复制所有层级,生成完全独立的对象。
import copy
a = [[1, 2], [3, 4]]
b = copy.copy(a)
c = copy.deepcopy(a)
b[0][0] = 99 # 同时修改 a[0][0]
c[0][0] = 88 # 不影响 a
print(a) # [[99, 2], [3, 4]]
浅拷贝的常见方式:list.copy()、dict.copy()、[:]切片。