深拷贝浅拷贝
深拷贝:
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)