[python 学习]浅拷贝和深拷贝

Posted cyber-shady

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[python 学习]浅拷贝和深拷贝相关的知识,希望对你有一定的参考价值。

import copy
l=[1,3.14,[2,4,6]]
l2=copy.copy(l)
print(l)
print(l2)

print(id(l))
print(id(l2))

print(‘------------------------‘)

for i in l:
    print(id(i))
print(‘------------------------‘)

for i in l2:
    print(id(i))
#可见虽然l和l2的地址不一样,但里里面的内容都是一样的
#copy也就是浅拷贝,l和l2的不同相当于两个指针的地址不一样
‘‘‘
浅拷贝特点:
浅拷贝后两个序列的内存地址不相同
两个序列,相同索引的元素的内存地址 相同

‘‘‘
print(‘------------------------‘)
print(‘------------------------‘)
print(‘------------------------‘)

l3=copy.deepcopy(l)

print(‘------------------------‘)

for i in l3:
    print(id(i))
#可见深拷贝以后地址明显不同

以上是关于[python 学习]浅拷贝和深拷贝的主要内容,如果未能解决你的问题,请参考以下文章

NumPy之浅拷贝和深拷贝

Python3 & 浅拷贝与深拷贝

python 浅拷贝和深拷贝

Python中的赋值,浅拷贝和深拷贝的区别

JavaScript学习(七十五)—图解浅拷贝和深拷贝

python-浅拷贝和深拷贝