我们用如下方式定义a2列表:a2=[1,a1[:],’99’]。此时,在a1列表修改时,不会影响a2的值,因为切片操作复制了一个列表对象,与原对象脱离了关系。字典有dict.copy()方法,与此类似。另外内置函数list(a1)也会产生一个列表的拷贝。 但是无上下标的切片和字典的的copy方法,都只能进行顶层拷贝,即,若拷贝的对象中嵌套有更深一层结构,那么不会被拷贝,即还是指向先前的引用。 若要实现完整的拷贝(深层拷贝),可引入copy模块:import copy x=copy.deepcopy(z),来递归拷贝对象中的所有结构。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/432.html