如果列表只有一层,深浅copy是一样一样的,没有什么区别,你修改了copy后的列表,copy前的列表并不会随之改变。
如果列表中嵌套这列表,这是你修改了copy后第二层列表里面的元素,copy前第二层列表里面的元素也随之修改,这是因为浅copy只copy了每个元素的地址指向,并没有将内容也copy
jlist = [1,2,3,4,5,6,7,8,[9,8,7]]
xlist = jlist.copy()
xlist[8][1] =800
print(jlist)
[1,2,3,4,5,6,7,8,[9,800,7]]
如果你想要修改copy后的list,copy前的list不随之修改的话,这样就要用的深copy,深copy是copy到每一层的元素,有多少层,copy多少层
import copy
jlist = [1,2,3,4,5,6,7,8,[9,8,7]]
xlist = copy.deepcopy(jlist)
xlist[8][1] =800
print(jlist)
[1,2,3,4,5,6,7,8,[9,8,7]]