码迷,mamicode.com
首页 > 其他好文 > 详细

深浅拷贝

时间:2016-06-27 16:59:55      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

浅拷贝:

浅拷贝只拷贝一次,浅拷贝只拷贝指针。

import copy
copy.copy()  #浅拷贝
a1 = 123123
a2 = 123123
print(id(a1))  #查看内存地址
print(id(a2))
#22745648
#22745648

a3 = copy.copy(a1)
print(id(a1))
print(id(a3))
#22745648  #内存地址相同
#22745648

深拷贝:

深拷贝拷贝多层,深拷贝可以重新申请空间并将数据复制过来

 1 n1 = {k1:wu,k2:123,k3:[alex,456]}
 2 n2 = n1
 3 print(id(n1))  #39035368
 4 print(id(n2))  #39035368
 5 n3 = copy.copy(n1)
 6 n4 = copy.deepcopy(n1)
 7 print(id(n1))  #39035368
 8 print(id(n3))  #39295376
 9 print(id(n4))  #39035608
10 print(id(n1[k3]))  #46733552
11 print(id(n3[k3]))  #46733552
12 print(id(n4[k3]))  #46731352
13 
14 dic = {
15     "cpu":[80,],
16     "mem":[80,],
17     "disk":[80,],
18 }
19 print(brefore,dic)
20 new_dic = copy.copy(dic)
21 new_dic = copy.deepcopy(dic)
22 new_dic[cpu][0] = 50
23 print(dic)
24 print(new_dic)
25 #浅拷贝  {‘disk‘: [80], ‘mem‘: [80], ‘cpu‘: [50]}
26 #        {‘disk‘: [80], ‘mem‘: [80], ‘cpu‘: [50]}
27 #深拷贝  {‘cpu‘: [80], ‘mem‘: [80], ‘disk‘: [80]}
28 #        {‘cpu‘: [50], ‘mem‘: [80], ‘disk‘: [80]}

 

深浅拷贝

标签:

原文地址:http://www.cnblogs.com/yoyovip/p/5620446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!