python copy
import copy
a = [1, 2, 3, 4, [‘a‘, ‘b‘]] #原始对象
b = a #赋值,传对象的引用
c = copy.copy(a) #对象拷贝,浅拷贝
d = 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的问题
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。