- .
def pairwise(iterable, n=2 ):
from itertools import tee, islice, izip
return izip(*(islice(it,pos,None) for pos,it in enumerate(tee(iterable, n))))
for values in pairwise(infinite_iterable_generating_your_values, n=3):
process(values[0])
if breakconditions:
break
:
print [i for i in pairwise(range(10), n=3)]
[(0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9)]