码迷,mamicode.com
首页 > 编程语言 > 详细

关于Python的深浅拷贝

时间:2018-03-03 16:54:54      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:技术分享   div   描述   log   分享   col   one   pre   [1]   

关于Python的深浅拷贝

 1 import copy
 2 
 3 # 浅拷贝 只拷贝第一层,后面层的数据会变是因为指针跟着改变了
 4 copyone = ["walk", 28, [4300, 5000]]
 5 cp1 = copyone.copy()
 6 cp1[0] = on_foot
 7 cp1[1] = 29
 8 cp1[2][0] = 9300
 9 print("列表copyone: %s"%copyone)  # 浅拷贝后,原数据中的4300已变成9300
10 print("浅拷贝效果: %s"%cp1)
11 
12 #深拷贝 即完全拷贝
13 copyone = ["walk", 28, [4300, 5000]]
14 cp2 = copy.deepcopy(copyone)
15 cp2[0] = on_foot
16 cp2[1] = 29
17 cp2[2][0] = 9300
18 print("列表copyone: %s"%copyone)  # 深拷贝后,原列表数据无变化
19 print("浅拷贝效果: %s"%cp2)

 

执行效果如下:

列表copyone: [‘walk‘, 28, [9300, 5000]]
浅拷贝效果: [‘on_foot‘, ‘29‘, [9300, 5000]]
列表copyone: [‘walk‘, 28, [4300, 5000]]
浅拷贝效果: [‘on_foot‘, ‘29‘, [9300, 5000]]

 

技术分享图片

 

深浅拷贝可能这样描述还是不大清晰。但是自己已经明白了。

关于Python的深浅拷贝

标签:技术分享   div   描述   log   分享   col   one   pre   [1]   

原文地址:https://www.cnblogs.com/walkcreaker/p/8496634.html

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