首页 > 代码库 > python copy

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的问题

python copy