Como iterar um lista e retornar pares dos itens usando python?
O itertools do python é bem versátil:
from itertools import tee, izip
def pares(lista):
a, b = tee(lista)
next(b, None)
return izip(a, b)
Considerando a lista:lista = [1,2,3,4,5,6,7,8,9,10]
Aplique assim:
for v, w in pares(lista):
print v, w
1 2
2 3
3 4
...
ou dessa forma:for i in pares(lista):
print i
(1, 2)
(2, 3)
(3, 4)
...
Repare que a função não retorna uma lista, mas um objeto de itertools.Como funciona: primeiro, com o tee() criamos dois iteráveis paralelos, ambos apontando para o primeiro item da lista. Em seguida move-se o segundo, b, para o segundo item com next(). Dessa forma o a está no lista[0] e b está no lista[1].
fonte
Nenhum comentário:
Postar um comentário