Python 从列表创建顺序子列表

Python 从列表创建顺序子列表,python,list,sublist,Python,List,Sublist,我是新来的,也不熟悉编程 我不知道我的问题是否正确,但我一直在尝试从列表中生成子列表 i、 e 假设L=range(5),则从L生成子列表,例如[[],[0],[0,1],[0,1,2],[0,1,2,3],[0,1,2,3,4] 请帮忙。谢谢。看看这个: >>> # Note this is for Python 2.x. >>> def func(lst): ... return map(range, xrange(len(lst)+1)) ...

我是新来的,也不熟悉编程

我不知道我的问题是否正确,但我一直在尝试从列表中生成子列表

i、 e

假设
L=range(5)
,则从
L
生成子列表,例如
[[],[0],[0,1],[0,1,2],[0,1,2,3],[0,1,2,3,4]

请帮忙。谢谢。

看看这个:

>>> # Note this is for Python 2.x.
>>> def func(lst):
...     return map(range, xrange(len(lst)+1))
...
>>> L = range(5)
>>> func(L)
[[], [0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
>>>

您还可以使用下面的for循环来生成所需的子列表

>>> L = range(5)
>>> l = []
>>> for i in range(len(L)+1):
        l.append([j for j in range(i)])
>>> l
[[], [0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
您还可以通过以下代码创建子列表,而不使用空子列表作为起始子列表:

>>> i = list(range(5))
>>> [i[:k+1] for k in i]
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]