python中的列表,带引用

Liz*_*ard 2 python copy reference list

如何复制列表的内容而不仅仅是Python中列表的引用?

gim*_*mel 7

查看copy模块,注意浅拷贝和深拷贝之间的区别:

浅复制和深复制之间的区别仅与复合对象(包含其他对象的对象,如列表或类实例)相关:

  • 浅拷贝构造新化合物对象,然后(在可能的范围)插入到其在原始找到的对象的引用.

  • 深层副本构造新化合物的对象,然后,递归地,插入拷贝到它在原始找到的对象的.

  • 请注意,它仅与可变数据的容器相关.包含整数的元组列表在copy.deepcopy中没有任何好处,而包含其他列表的列表则没有. (4认同)

Liz*_*ard 5

使用切片表示法.

newlist = oldlist

这将为同一列表指定第二个名称

newlist = oldlist[:]

这会将oldlist的每个元素复制到一个名为newlist的完整新列表中


Joh*_*ooy 5

除了Lizard提到的切片表示法,

您可以使用 list()

newlist = list(oldlist)
Run Code Online (Sandbox Code Playgroud)

或复制

import copy
newlist = copy.copy(oldlist)
Run Code Online (Sandbox Code Playgroud)