Как пройти через определенные пары списка - Python - PullRequest
0 голосов
/ 04 ноября 2019

Создайте следующий пример:

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 ]

1 голос
/ 04 ноября 2019

Как насчет этого:

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])
0 голосов
/ 04 ноября 2019

вы можете сделать это:

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
0 голосов
/ 04 ноября 2019

Использование нарезки с шагом аргумента.

Пример:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...