【发布时间】:2013-04-12 07:55:19
【问题描述】:
我正在处理一个项目,我需要在一个列表中重复某个列表一定次数。显然,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.append(L)不是这样。试试看;您会对它的作用感到惊讶(并且值得理解)。 -
@abarnert 哇,我从来不知道。这只是在找到无限循环时执行的操作吗?
-
它只是将
L本身的副本添加为L的最后一个元素。它没有什么必然是无限的……但是如果你试着把它弄平,或者像一棵树一样走路,那会给你一个无限循环。 (如果你想一想,打印出一个列表意味着像一棵树一样行走……但是 Python 足够聪明,可以在打印出一个列表时检查这一点,所以你会得到[1, 2, 3, 4, 5, [...]]而不是无限的文本墙。)跨度> -
@Haidro:无论如何,正如您在回答中解释的那样,这与
mylist[0]和mylist[1]是对同一事物的引用实际上是相同的。只是L和L[5]是指同一个东西。
标签: python list nested-lists