Steve, Hey, thanks. I'll try that.
Horace In article <[EMAIL PROTECTED]>, Steven Bethard <[EMAIL PROTECTED]> wrote: > Horace Enea wrote: > > My example wasn't very good. Here's another try: > > > > def foo(): > > yield 1 > > yield 2 > > yield 3 > > > > f = foo() > > f.next() > > 1 > > > > g=copy(f) # copy the generator after an iteration > > > > f.next() > > 2 > > f.next() > > 3 > > > > g.next() > > 2 > > > > I want to copy the generator's state after one or more iterations. > > You could use itertools.tee(): > > >>> def foo(): > ... yield 1 > ... yield 2 > ... yield 3 > ... > >>> import itertools > >>> f = foo() > >>> f.next() > 1 > >>> f, g = itertools.tee(f) > >>> f.next() > 2 > >>> f.next() > 3 > >>> g.next() > 2 > >>> g.next() > 3 > > But note that if your iterators get really out of sync, you could have a > lot of elements stored in memory. > > STeVe -- http://mail.python.org/mailman/listinfo/python-list