根据python中列表的值以不同的间隔拼接列表

根据python中列表的值以不同的间隔拼接列表,python,list,for-loop,Python,List,For Loop,我不会发表长篇大论的例子,我会发布一个我想要实现的简单想法 这是一段不起作用的代码,但这正是我想要做的。我想获取list1的最后4个值并将它们附加到一个新列表中,然后获取最后3个值并将它们附加到同一个列表中,然后获取最后2个值并将它们附加到同一个列表中 基本上,打印列表2将给出[[1,2,3,4],[2,3,4],[3,4] 这是代码 def test(): list1 = range(5) list2 = [] q=[2,4,6] j=0 for j i

我不会发表长篇大论的例子,我会发布一个我想要实现的简单想法

这是一段不起作用的代码,但这正是我想要做的。我想获取list1的最后4个值并将它们附加到一个新列表中,然后获取最后3个值并将它们附加到同一个列表中,然后获取最后2个值并将它们附加到同一个列表中

基本上,
打印列表2
将给出
[[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

谢谢

您可以使用以下代码片段

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]]

您可以使用以下代码段

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]]

您的代码做了一些不同的事情,但是在您的描述之后,应该这样做:

for l in range(len(list1), 0, -1):
   list2.append(list1[-l:])

您的代码做了一些不同的事情,但是在您的描述之后,应该这样做:

for l in range(len(list1), 0, -1):
   list2.append(list1[-l:])

这里的
q=[2,4,6]
的目的是什么?这里的
q=[2,4,6]
的目的是什么?