列表拷贝的几种方法:
1.工厂函数 b=list(a)
>>> a=[1,2,3,4]
>>> b=list(a)
>>> b
[1, 2, 3, 4]
>>> id(a)
4338142672
>>> id(b)
4300339608
2.切片 c=a[:]
>>> c=a[:]
>>> c
[1, 2, 3, 4]
>>> id(c)
4338094736
3.copy模块
>>> import copy
>>> d = copy.copy(a)
>>> d
[1, 2, 3, 4]
>>> id(d)
4338106448
以上三种方法都属于浅复制,如果复制的列表中还存在列表的话,是没办法完全复制的,也就是说如果 a=[[1,2],3,4] ,使用上面的方法复制个b,如果改变a中列表[1,2]的值,那么b中也会改变,如何实现深复制呢?
深拷贝
使用copy模块中的copy.deepcopy方法就可以,看函数名也知道这是个什么样的函数了。