python 对象克隆
Posted 呓语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对象克隆相关的知识,希望对你有一定的参考价值。
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}}
以上是关于python 对象克隆的主要内容,如果未能解决你的问题,请参考以下文章
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
无法克隆对象 <tensorflow.python.keras.wrappers.scikit_learn.KerasClassifier 对象