但是,为了处理可变对象或可变对象的集合,我们可能需要一种方法来创建这些对象的“真实副本“。
在本文中,将介绍如何在Python 3中复制或“克隆”对象,以及所涉及的一些注意事项。...浅拷贝意味着构建一个新的集合对象,然后用对原始集合中的子对象引用填充它。...本质上,一个浅拷贝只是一个层次的深度。复制过程不会递归,因此不会创建子对象本身的副本。
A 深拷贝使复制过程递归。这意味着首先构造一个新的集合对象,然后使用递归在原始集合中找到的子对象的副本来填充它。...以这种方式复制一个对象会遍历整个对象树,从而创建一个完全独立的原对象及其所有子对象的克隆。
让我们来看看一些例子来证明深拷贝和浅拷贝之间的区别。...xs是递归地克隆的,包括它的所有子对象:
>>> xs[1][0] = 'X'
>>> xs
[[1, 2, 3], ['X', 5, 6], [7, 8, 9]]
>>> zs
[[1, 2, 3],