深浅拷贝

1,浅copy:是把列表第一层内存地址不区分的拷贝到新列表中。

不可变类型赋值,产生新值让原列表指向新列表但是内存地址不变。

原列表的数据与新列表的数据内存地址是一样的。

当原列表的数据修改是新列表的数据和内存地址也会发生改变。

2,深copy:是把列表第一层内存地址区分的拷贝到新列表中。

 可变类型赋值,原列表指向新列表产生新的内存地址。

当原列表的数据深度拷贝给一个新列表时,就是相当于重新定义了一个新列表和原列表就没有关系了,新列表更改数据原来的列表的数据也不会发生变化。

总结:

浅拷贝就是拷贝第一层,而列表更改数据则新列表也会跟原列表一起更新数据

深拷贝完全拷贝,而新列表数据更改只影响本身。













原文地址:https://www.cnblogs.com/zhenghuiwen/p/12449799.html