Pythonic在单行代码中创建前缀列表的方法

Pythonic在单行代码中创建前缀列表的方法,python,python-3.x,Python,Python 3.x,给定:列表,例如[1,2,“你好”,“世界”] 需要:创建包含所有前缀的列表, 例如,输出将是:[[],[1],[1,2],[1,2,“你好”],[1,2,“你好”,“世界”] 问题:函数体只能包含单行代码 我用常规方式(循环等)这样做没有任何问题,但我不知道如何只使用单行。您可以使用范围在列表理解中迭代索引,并使用切片创建前缀: >>> l = [1,2,"hello","world"] >>> [l[:i] for i in range(len(l) +

给定:列表,例如
[1,2,“你好”,“世界”]

需要:创建包含所有前缀的列表, 例如,输出将是:
[[],[1],[1,2],[1,2,“你好”],[1,2,“你好”,“世界”]

问题:函数体只能包含单行代码


我用常规方式(循环等)这样做没有任何问题,但我不知道如何只使用单行。

您可以使用
范围
在列表理解中迭代索引,并使用切片创建前缀:

>>> l = [1,2,"hello","world"]
>>> [l[:i] for i in range(len(l) + 1)]
[[], [1], [1, 2], [1, 2, 'hello'], [1, 2, 'hello', 'world']]

您可以使用
range
在列表理解中迭代索引,并使用切片创建前缀:

>>> l = [1,2,"hello","world"]
>>> [l[:i] for i in range(len(l) + 1)]
[[], [1], [1, 2], [1, 2, 'hello'], [1, 2, 'hello', 'world']]

谢谢,我完全忘了切片。谢谢,我完全忘了切片。