浅谈深浅copy区别
Posted jb9527
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈深浅copy区别相关的知识,希望对你有一定的参考价值。
浅copy:外层内存地址改变,里边内存地址不变,共享内存地址。
source= [1,2,3,4] target = source.copy() print(id(target)) #结果:140651869398792 print(id(source)) #结果:140651866735496 print(id(target[0])) #结果:10964896 print(id(source[0])) #结果:10964896 #以上为浅复制,可以得出结论,浅复制只是外壳地址不同即门牌号不同,里面的内存享有相同的内存地址。
深copy:完完全全复制了一份,两个内存地址完全不同,没有任何关系。
import copy source = [[1,2],[3,4]] target = copy.deepcopy(source) print(id(source)) #结果:140019484332936 print(id(target)) #结果:140019486996232 print(id(source[1])) #结果:139931082163912 print(id(target[1])) #结果:139931184332616 #以上为深复制,深复制,是完完全全的复制了一份,两个内存地址完全不同,没有任何关系。
以上是关于浅谈深浅copy区别的主要内容,如果未能解决你的问题,请参考以下文章