python copy

import copy
= [1234, [ab]]  #原始对象

= a  #赋值,传对象的引用
= copy.copy(a)  #对象拷贝,浅拷贝
= copy.deepcopy(a)  #对象拷贝,深拷贝

a.append(
5)  #修改对象a

print a

[1, 2, 3, 4, [‘a‘, ‘b‘], 5]

>>> print b

[1, 2, 3, 4, [‘a‘, ‘b‘], 5]

>>> print c

[1, 2, 3, 4, [‘a‘, ‘b‘]]

>>> print d

[1, 2, 3, 4, [‘a‘, ‘b‘]]


a[4].append(c)  #修改对象a中的[‘a‘, ‘b‘]数组对象

>>> print a

[1, 2, 3, 4, [‘a‘, ‘b‘, ‘c‘], 5]

>>> print b

[1, 2, 3, 4, [‘a‘, ‘b‘, ‘c‘], 5]

>>> print c

[1, 2, 3, 4, [‘a‘, ‘b‘, ‘c‘]]

>>> print d

[1, 2, 3, 4, [‘a‘, ‘b‘]]

深copy是复制了之前的列表,两个列表从此以后就独立的两个列表了

浅copy只是独立了一层的列表





深copy和潜copy的问题

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。