假设我有一个列表
list = [0,1,2,3]
如何将列表拆分为
之类的内容new_list = [[0,1,2,3],[1,2,3],[2,3],[3]]
我尝试过使用:
def change(list):
new_list = []
for i in range(len(list)):
total += [list:]
return new_list
但是我得到了
的返回值 new_list = [0,1,2,3,1,2,3,2,3,3]
非常感谢帮助, 感谢。
答案 0 :(得分:4)
使用简单的列表推导,它遍历原始列表的长度。另外,我使用了变量名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]]
答案 1 :(得分:0)
newlist=[]
list = [0,1,2,3]
i=0
while i<len(list):
newlist.append(list[i:])
i=i+1
print newlist
答案 2 :(得分:0)
您还可以将map
与lambda
In [14]: map(lambda x: list[x:], xrange(len(list)))
Out[14]: [[0, 1, 2, 3], [1, 2, 3], [2, 3], [3]]