python 2.7迭代列表打印列表的子集

时间:2017-06-28 02:57:12

标签: python-2.7

我有这个清单:l = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ]我想迭代它,打印像

这样的东西
0: [1,2,3,4]
1: [2,3,4,5]
2: [3,4,5,6]
...
n: [17,18,19,20]

到目前为止,我使用此代码一次打印5个元素,但最后一次迭代打印3:

for index, item in enumerate(l):
    if index == 0 or index == 1 or index == 2:
        continue
    print index, l[index - 3:index + 2]

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您的列表切片正确。这是一个让它变得更容易的调整:

sub_len = 4
for i in range(len(mylist) - sub_len + 1):
    print l[i:i + sub_len]

其中sub_len是您打印的切片所需的长度。

demo