python copy

时间:2014-10-01 01:53:00   收藏:0   阅读:516

bubuko.com,布布扣import copy
bubuko.com,布布扣a 
= [1, 2, 3, 4, [‘a‘, ‘b‘]]  #原始对象
bubuko.com,布布扣

bubuko.com,布布扣b 
= a  #赋值,传对象的引用
bubuko.com,布布扣
c = copy.copy(a)  #对象拷贝,浅拷贝
bubuko.com,布布扣
d = copy.deepcopy(a)  #对象拷贝,深拷贝
bubuko.com,布布扣

bubuko.com,布布扣a.append(
5)  #修改对象a
bubuko.com,布布扣

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‘]]


bubuko.com,布布扣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的问题

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!