1、浅拷贝,只拷贝对象地址,主从影响
2、深拷贝,申请新空间,复制对象值,彼此不影响
结论:拷贝会复制对象存储的内容(列表元素存储的是地址),浅拷贝复制外层列表各个元素的地址,以及列表内嵌套列表的地址,但不会复制嵌套列表内元素的地址
其他:
直接赋值:
如果用 = 直接赋值,是非拷贝方法。
赋值的两个列表是等价的,修改其中任何一个列表都会影响到另一个列表。
浅拷贝包括:
1.copy()方法
2.使用列表生成式
2.使用列表生成式
4.使用切片
深拷贝:
如果用deepcopy()方法,则无论多少层,无论怎样的形式,得到的新列表都是和原来无关的,这是最安全最清爽最有效的方法。
需要import copy
图解:
本文详细介绍了浅拷贝和深拷贝的区别,浅拷贝只复制对象的引用地址,因此对拷贝后的对象进行修改会影响到原始对象;而深拷贝则会申请新的内存空间来完全复制对象的内容,因此对拷贝后的对象进行修改不会影响到原始对象。文章还讨论了不同的拷贝方法,如使用copy()方法、列表生成式和切片进行浅拷贝,以及使用deepcopy()方法实现深拷贝。

3708

被折叠的 条评论
为什么被折叠?



