美文网首页
Python编程:赋值,浅拷贝,深拷贝

Python编程:赋值,浅拷贝,深拷贝

作者: 小小一颗卤蛋 | 来源:发表于2023-03-27 22:37 被阅读0次

赋值 :

赋值:相当于起了一个别名,两者指向的是同一个对象


image.png
list2=[1,2,3,4,5,6,[7,8]] list2_new=list2  #赋值,对列表赋值时,相当于起了一个别名,两者指向的是同一个对象 
list2[0]=96 
print(list2,id(list2)) 
print(list2_new,id(list2_new))
image.png

浅拷贝

image.png
import copy list2_new=copy.copy(list2)  #浅拷贝,生成了一个新的对象,子列表仍然是同一个对象 
list2[0]=96  #修改list2的值,不会影响list2_new 
list2[-1][0]=1998  #修改list2的子列表的值,list2_new的值也会变化 
print(list2,id(list2),id(list2[-1])) 
print(list2_new,id(list2_new),id(list2_new[-1]))
image.png

切片,等价于浅拷贝

list2_new=list2[:]  #相当于copy.copy(list2) 
list2[0]=96 
list2[-1][0]=1998 
print(list2,id(list2),id(list2[-1])) 
print(list2_new,id(list2_new),id(list2_new[-1]))

深拷贝

image.png
list2_new=copy.deepcopy(list2)  #深拷贝,列表与子列表都是新的对象 
list2[-1][0]=1998  #修改list2的子列表的值,不会影响list2_new 
print(list2,id(list2),id(list2[-1])) 
print(list2_new,id(list2_new),id(list2_new[-1]))

相关文章

  • Python中的引用赋值,深拷贝,浅拷贝

    摘要:Python,引用赋值,深拷贝,浅拷贝 总结一下Python中的变量的引用赋值,深拷贝和浅拷贝,先上结论 赋...

  • 简介深浅拷贝

    深浅拷贝 python 直接赋值,浅拷贝和深拷贝 直接赋值 其实就是对象的引用 (可以理解成浅拷贝) 浅拷贝: 拷...

  • Python底层|赋值 浅拷贝 深拷贝

    参考 python中的深拷贝和浅拷贝问题python的复制,深拷贝和浅拷贝的区别 结论 总体来说,赋值只是增加了一...

  • python深拷贝和浅拷贝详解

    对于python来说,有两种拷贝类型,浅拷贝和深拷贝 但要注意的是= 不是浅拷贝也不是深拷贝,赋值是新建了一个引用...

  • Python中的赋值及深浅拷贝

    Python中的赋值及深浅拷贝 赋值 示例 打印 浅拷贝 示例 打印 深拷贝 示例 打印 三层列表演示 示例 打印

  • python的浅拷贝和深拷贝

    对于不可变类型,浅拷贝和深拷贝没有区别 对于不可变类型 赋值 浅拷贝 深拷贝

  • 深拷贝 浅拷贝

    深入认识深拷贝 浅拷贝 公共方法 // 深拷贝 浅拷贝 对于基本类型来说 对于赋值操作 就是 深拷贝 因为值...

  • copy见解

    拷贝就是拷贝,何来深浅之说? Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,...

  • python赋值、浅拷贝、深拷贝

    赋值:相当于c的指针。修改了其中一个变量,另一个跟着改变。注意对不可变对象,新赋值,就是修改了指向。(int、字符...

  • python赋值、浅拷贝、深拷贝

    面试遇到了深拷贝、浅拷贝问题,由于平时总是注重实现功能,而忽略了一些基础原理,对其理解很模糊。所以决定脚踏实地好好...

网友评论

      本文标题:Python编程:赋值,浅拷贝,深拷贝

      本文链接:https://www.haomeiwen.com/subject/otctddtx.html