python 对象克隆
2021-01-29 05:15
标签:复合 之间 引用 包含 数据 一个 print 复制 范围 一个 浅层复制 会构造一个新的复合对象,然后(在可能的范围内)将原对象中找到的 引用 插入其中。 深度复制操作通常存在两个问题, 而浅层复制操作并不存在这些问题: python 对象克隆 标签:复合 之间 引用 包含 数据 一个 print 复制 范围 原文地址:https://www.cnblogs.com/iFanLiwei/p/12833840.html
copy.copy(x)
: 返回x的浅层复制copy.deepcopy(x)
: 返回x的深层复制
一个 深层复制 会构造一个新的复合对象,然后递归地将原始对象中所找到的对象的 副本 插入。
import copy
a = {"a": 1}
b = {"a": a}
c = b.copy()
a[‘a‘] = 10
print(b) # {‘a‘: {‘a‘: 10}}
print(c) # {‘a‘: {‘a‘: 10}}
c = copy.deepcopy(b)
a[‘a‘] = 1
print(b) # {‘a‘: {‘a‘: 1}}
print(c) # {‘a‘: {‘a‘: 10}}