Skip to main content
 首页 » 编程设计

python之在列表中重复列表 X 次

2025年05月04日13wuhuacong

我正在做一个项目,我需要将列表中的列表重复一定次数。显然,L.append(L) 只是再次添加元素,而没有创建单独的列表。我只是对如何在大列表中将列表分开感到困惑。

简而言之,这就是我所拥有的:

L = [1,2,3,4,5] 

如果我想重复它,比如 3 次,那么我会:

L = [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]] 

我如何实现这一目标?我正在寻找大列表中的列表。

请您参考如下方法:

不需要任何功能:

>>> L = [1,2,3,4,5] 
>>> [L]*3 
[[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] 

但是,您应该注意,如果您更改任何列表中的一个值,所有其他值都会更改,因为它们引用相同的对象。

>>> mylist = [L]*3 
>>> mylist[0][0] = 6 
>>> print mylist 
[[6, 2, 3, 4, 5], [6, 2, 3, 4, 5], [6, 2, 3, 4, 5]] 
>>> print L 
[6, 2, 3, 4, 5] 

为了避免这种情况:

>>> L = [1,2,3,4,5] 
>>> mylist = [L[:] for _ in range(3)] 
>>> mylist[0][0] = 6 
>>> print L 
[1, 2, 3, 4, 5] 
>>> print mylist 
[[6, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] 

注意 L 没有改变,只有 mylist 中的第一个列表改变了。

感谢评论中的每一个人的帮助:)。