1、对于非嵌套的列表,对列表进行copy()与deepcopy()操作,看不出差别
a = [1,2,3]
b = a.copy() #浅拷贝
b = a[:] #浅拷贝
b = a.deepcopy() #深拷贝
2、对于嵌套的列表,对列表进行copy()和deepcopy()操作,区别就很大
a = [1,2,[3,4]]
浅拷贝:
b = a.copy()
b[0] = 10
b[2][1] = 999
最终a的值为[1,2,[999,4]]
深拷贝:
b = a.deepcopy()
b[0] = 10
b[2][1] = 999
最终a的值为[1,2,[3,4]]
总结:
深拷贝和浅拷贝的区别主要体现在对二级及二级以上的列表的作用上