人生苦短之Python列表拷贝

   列表拷贝的几种方法:

   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方法就可以,看函数名也知道这是个什么样的函数了。

原文地址:https://www.cnblogs.com/dreamyu/p/7450826.html