Deep copy, shallow copy parsing

Deep copy, shallow copy parsing

深复制,浅复制will only appear in nested lists

浅复制: Only the parent object is copied, the child objects inside the object are not copied 引用的对象,

深复制: Copy parent and child objects

深复制需要先导入copy模块,然后才能使用
import copy
copy.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这个快捷方式所指的文件,复制给了另外一个对象。

总结:
浅复制:只复制被引用的对象(快捷方式)
深复制:复制被引用对象的内容(文件)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326158533&siteId=291194637