深复制,浅复制解析

来源:互联网 发布:java之父 编辑:程序博客网 时间:2024/05/22 14:40

深复制,浅复制解析

深复制,浅复制只会出现嵌套列表中出现

浅复制:只复制父对象,不会复制对象内部的子对象引用的对象

深复制: 复制父对象和子对象

深复制需要先导入copy模块,然后才能使用import copycopy.deepcopy(list)
列表在嵌套一个有名字的列表时,更像是在引用这个对象,例如:a = [1,2,3]b = [a,4,5,6]在b输出显示时,系统把会a解析成列表显示出来,如:[[1,2,3],4,5,6]但系统里面记录的始终是 [a,4,5,6] ,a只是一个引用对象而已。所以在复制时,a也是作为一个可引用的对象复制给另外一个列表,可以理解为a只是一个快捷方式,再怎么复制也只是复制一个快捷方式而已,这就是所为的浅复制。而深复制呢,就是把a的内容完完全全复制到一个新的列表里面,换成另外一个思路就是:复制时,系统把a这个快捷方式所指的文件,复制给了另外一个对象。总结:浅复制:只复制被引用的对象(快捷方式)深复制:复制被引用对象的内容(文件)