列表的深浅copy
对于列表这种复杂数据类型变量在内存中保存的形式如下:
列表中保存的是数据的内存地址而不是数据本身
列表在内存中是以堆栈的形式进行存储的
当是一般数据或是非嵌套列表时,深浅复制的结果都是实现复制一份新的出来,但是对于嵌套列表二者就有了明显的不同
- 浅copy
对于浅copy来说,第一层创建的是新的地址值,而从第二层开始,指向的都是同一个内存地址,所以,对第二层以及更深的层数来说,保持一致性。也就是说浅复制复制地址。当原数据发生改变时,复制的列表也会随之改变
- 深copy
对于深复制来说,会重新开辟一块内存空间。深复制针对内容进行复制。当原数据发生改变时,复制的列表数据不变
(由于画功有限,大家见谅)