拷贝:copy 与深拷贝
16.12 拷贝:copy 与深拷贝
d2 = d1 只是同一对象,改 d2 会影响 d1。
d2 = d1.copy() 或 dict(d1) 浅拷贝,嵌套对象仍共享。
深层嵌套用 copy.deepcopy(d1)。
浅拷贝陷阱
# ========================================
# 示例:浅拷贝
# ========================================
import copy
a = {'info': {'score': 90}}
b = a.copy() # 浅拷贝
b['info']['score'] = 100
print(a['info']) # {'score': 100} 嵌套仍共享
c = copy.deepcopy(a)
c['info']['score'] = 50
print(a['info'], c['info']) # 互不影响