[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))
#可见深拷贝以后地址明显不同

猜你喜欢

转载自www.cnblogs.com/cyber-shady/p/11520450.html