如何遍历列表中的特定对-Python

时间:2019-11-04 13:41:22

标签: python list loops

约束以下示例:

values = [1,2,3,4,5,6]

有没有一种简单的方法可以产生以下输出

1 2
3 4
5 6

我尝试了不同的方法,例如:

a = [1, 2, 3, 4, 5,6]
for v, w in zip(a[:-1], a[1:]):
    print(v, w)

但是我总是得到相同的结果:

新行始终以前一行的最后一个数字开头

1 2
2 3
3 4 
...

3 个答案:

答案 0 :(得分:1)

如何?

for i in range(0, len(values), 2):
    print(values[i], values[i+1])

尽管有i+1存在,但还是想添加一个检查,或者扭转逻辑:

for i in range(1, len(values), 2):
    print(values[i-1], values[i])

答案 1 :(得分:0)

使用带有step参数的切片。

例如:

a = [1, 2, 3, 4, 5,6]
for v, w in zip(a[0::2], a[1::2]):
    print(v, w)

输出:

1 2
3 4
5 6

答案 2 :(得分:0)

您可以这样做:

a = [1, 2, 3, 4, 5,6]
for v, w in zip(a[0:-1:2], a[1::2]):
    print(v, w)

输出

1 2
3 4
5 6