python中copy的使用

来源:互联网 发布:淘宝斗鱼 编辑:程序博客网 时间:2024/06/05 00:27

接触python有一段时间了,一直没有系统的学习过,也对copy,deepcoy傻傻的分不清,故抽出时间来理一下。


copy仅拷贝对象本身,而不对中的子对象进行拷贝,故对子对象进行修改也会随着修改。

deepcopy是真正意义上的复制,即从新开辟一片空间。我们经常说的复制实际上就是deepcopy.

>>> import copy
>>> a=[1,2,3,[2,3],4]
>>> b=a
>>> c=copy.copy(a)
>>> d=copy.deepcopy(a)
>>> a.append(9)
>>> a
[1, 2, 3, [2, 3], 4, 9]
>>> b
[1, 2, 3, [2, 3], 4, 9]
>>> c
[1, 2, 3, [2, 3], 4]
>>> d
[1, 2, 3, [2, 3], 4]
>>> a[3][0]=8
>>> a
[1, 2, 3, [8, 3], 4, 9]
>>> b
[1, 2, 3, [8, 3], 4, 9]
>>> c
[1, 2, 3, [8, 3], 4]
>>> d
[1, 2, 3, [2, 3], 4]
>>>