Python Reverse Generator

Viewed 23941

I'm looking for a way to reverse a generator object. I know how to reverse sequences:

foo = imap(seq.__getitem__, xrange(len(seq)-1, -1, -1))

But is something similar possible with a generator as the input and a reversed generator as the output (len(seq) stays the same, so the value from the original sequence can be used)?

4 Answers
def reverseGenerator(gen):
     new = [i for i in gen]
     yield new[::-1][0]
     new.pop()
     yield from reverseGenerator(i for i in new)
Related