python的直接复制、浅拷贝与深拷贝

 转载自:http://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html

import copy

a = [1, 2, 3, 4, ['a', 'b']]
print('原     a= ', a)

b = a  # 直接复制,对象的引用,相当于别名
c = copy.copy(a)  # 浅拷贝,只拷贝了父对象,不会拷贝对象的内部的子对象
d = a.copy()  # 浅拷贝,只拷贝了父对象,不会拷贝对象的内部的子对象
e = copy.deepcopy(a)  # 深拷贝,完全拷贝了父对象及其子对象

a.append(5)
a[4].append('c')

print('后     a= ', a)
print('赋 值  b= ', b)
print('浅拷贝 c= ', c)
print('浅拷贝 d= ', d)
print('深拷贝 e= ', e)

执行结果:

原     a=  [1, 2, 3, 4, ['a', 'b']]
后     a=  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
赋 值  b=  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
浅拷贝 c=  [1, 2, 3, 4, ['a', 'b', 'c']]
浅拷贝 d=  [1, 2, 3, 4, ['a', 'b', 'c']]
深拷贝 e=  [1, 2, 3, 4, ['a', 'b']]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值