Como iterar por duas listas em paralelo?

Eu tenho dois iteráveis ​​e quero analisá-los em pares:

foo = [1, 2, 3]
bar = [4, 5, 6]

for (f, b) in iterate_together(foo, bar):
    print("f:", f, " |  b:", b)

Isso deve resultar em:

f: 1  |  b: 4
f: 2  |  b: 5
f: 3  |  b: 6

Uma maneira de fazer isso é iterar sobre os índices:

for i in range(len(foo)):
    print("f:", foo[i], " |  b:", bar[i])

Mas isso parece um tanto anti-pythônico para mim. Tem algum jeito melhor de fazer isso?

O que deseja é o método zip para iteração paralela…

for x, y in zip(foo,bar):
    print(f'f:{x} | b:{y}')
3 curtidas

eu acho que obrigado

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.