深拷贝浅拷贝

深拷贝:

l = [0,1,2,2,3,4,5,6,7,8,9]
#    0 1 2 3 4 5 6 7 8 9 10
import copy
l2 = copy.deepcopy(l)#深拷贝,内存地址不一样

浅拷贝:

l = [0,1,2,2,3,4,5,6,7,8,9]
#    0 1 2 3 4 5 6 7 8 9 10
l3 = l #浅拷贝,内存地址一样
l4 = l.copy()#多层修改时会出问题

例子:


l = [0,1,2,2,3,4,5,6,7,8,9]
#循环删元素,只有一个列表会出错,需要2个list
 for i in l :
     if i % 2 == 0:
         l.remove(i)
print(l)

#这里如果用拷贝,一定用深拷贝,因为深拷贝的内存地址不同
l2 = [0,1,2,2,3,4,5,6,7,8,9]
for i in l2 :
if i % 2 == 0:
l.remove(i)
print(l)
原文地址:https://www.cnblogs.com/Mezhou/p/13546516.html