首页 > 编程语言 > 详细

Python 深浅Copy

时间:2019-12-12 16:25:10      阅读:85      评论:0      收藏:0      [点我收藏+]

Python 深浅Copy

l1 = [1,2,3]
l2 = li             #相当于标签 为同一地址而已
l1.append(4)
print(l1)  #l1=[1,2,3,4]
print(l2)  #l2=[1,2,3,4]
#浅拷贝 只copy外壳 内部为原地址
l1 = [1,2,3]
l2 = l1.copy()
l1.append(666)
#l1 = [1,2,3,666]
#l2 = [1,2,3]
#浅拷贝 只copy外壳 内部为原地址
l1 = [1,2,3,[22,33]]
l2 = l1.copy()
l1[-1].append(6)
#l1 = [1,2,3,[22,33,6]]
#l2 = [1,2,3,[22,33,6]]

深copy

python 对deepcopy进行了优化,不可变的数据类型(int,str...) 仍然沿用同一个内存

import copy
l1 = [1,2,3,[22,33]]
l2 = copy.deepcopy(l1)
li[-1].append(666)
#l1 = [1,2,3,[22,33,666]]
#l2 = [1,2,3,[22,33]]

相关面试题

l1 = [1,2,3,[22,33]]
l2 = l1[:]          #切片为浅copy
l1[-1].append(666)
#l1 = [1,2,3,[22,33,666]]
#l2 = [1,2,3,[22,33,666]]

浅copy:嵌套的可变的数据类型是同一个

深copy:嵌套的可变的数据类型不是同一个

Python 深浅Copy

原文:https://www.cnblogs.com/pandaa/p/12029877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!