python 中的深复制和浅复制

浅复制 可以参考这个链接 http://www.168seo.cn/python/24002.html

深复制将创建一个新的对象,并且递归的复制它包含的所有的对象,Python中没有内置的操作能创建对象的深复制,但是可以通过标准库中的copy.deepcopy()函数来完成该项工作:

Python
In [19]: import copy In [20]: a = [1,2,3,[4,5]] In [21]: b = copy.deepcopy(a) In [22]: id(b) Out[22]: 4337388872 In [23]: id(a) Out[23]: 4337381064 In [24]: b[3][0] = 123 In [25]: a Out[25]: [1, 2, 3, [4, 5]] In [26]: b Out[26]: [1, 2, 3, [123, 5]]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
In [ 19 ] : import copy
 
In [ 20 ] : a = [ 1 , 2 , 3 , [ 4 , 5 ] ]
 
In [ 21 ] : b = copy . deepcopy ( a )
 
In [ 22 ] : id ( b )
Out [ 22 ] : 4337388872
 
In [ 23 ] : id ( a )
Out [ 23 ] : 4337381064
 
In [ 24 ] : b [ 3 ] [ 0 ] = 123
 
In [ 25 ] : a
Out [ 25 ] : [ 1 , 2 , 3 , [ 4 , 5 ] ]
 
In [ 26 ] : b
Out [ 26 ] : [ 1 , 2 , 3 , [ 123 , 5 ] ]



  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值