我不会发布一个冗长的例子,而是发布一个关于我想要实现的简化概念。
这是一些不起作用的代码,但这正是我想要做的。我想获取list1的最后4个值并将它们附加到新列表,然后获取最后3个值并将它们附加到同一个列表中,然后获取最后2个值并将它们附加到同一个列表中。
基本上print list2
会给[[1,2,3,4],[2,3,4],[3,4]]
这是代码;
def test():
list1 = range(5)
list2 = []
q=[2,4,6]
j=0
for j in range(len(q)):
list2.append(list1[(q[j]*0.5):])
print list2
谢谢
答案 0 :(得分:3)
您可以使用以下代码段
list2 = [list1[-i:] for i in range(4,1,-1)]
例如
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = [list1[-i:] for i in range(4,1,-1)]
>>> list2
[[6, 7, 8, 9], [7, 8, 9], [8, 9]]
答案 1 :(得分:2)
您的代码有所不同,但在您的描述之后,应该这样做:
for l in range(len(list1), 0, -1):
list2.append(list1[-l:])