在前文已经看到过了可以使用list函数去复制一个列表,这个就是浅复制,浅复制会构建一个新的对象,并且维护之前对象(子对象)的引用,而深复制则是将之前的子对象通过递归的方式也拷贝出来。从例子中学习吧。...先看看浅复制:
a=[[1,2,3],[4,5,6]]
b=list(a)
a is b
Out[20]: False
如果给a再增加一个子列表:
a.append([7,8,9])
a
Out[22]...Out[25]: [[1, 'x', 3], [4, 5, 6], [7, 8, 9]]
b
Out[26]: [[1, 'x', 3], [4, 5, 6]]
我们修改了a,但是b也受到了影响,因为在浅复制里并不会复制...a中的子对象,而只是复制了子对象的引用给了b。...但是给a增加子对象并不会影响b。为了避免这样的副作用,就有了深复制。深复制在python的内置模块copy。