假设我有一个列表
list = [0,1,2,3]
Run Code Online (Sandbox Code Playgroud)
我如何将列表分成类似的内容
new_list = [[0,1,2,3],[1,2,3],[2,3],[3]]
Run Code Online (Sandbox Code Playgroud)
我尝试过使用:
def change(list):
new_list = []
for i in range(len(list)):
total += [list:]
return new_list
Run Code Online (Sandbox Code Playgroud)
但我得到的返回值为
new_list = [0,1,2,3,1,2,3,2,3,3]
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助,谢谢。
使用简单的列表理解,它会迭代原始列表的长度。另外,我使用了变量 name lst,因为它list是 python 类型。
干得好:
>>> lst = [0,1,2,3]
>>> [lst[i:] for i in range(len(lst))]
[[0, 1, 2, 3], [1, 2, 3], [2, 3], [3]]
Run Code Online (Sandbox Code Playgroud)