def transpose(iterable_of_three_tuples):
    teed = itertools.tee(iterable_of_three_tuples, 3)
return (e[0] for e in teed[0]), (e[1] for e in teed[1]), (e[2] for e in teed[2]
    )
Lazily transpose a list in Python