Hey, thanks. I'll try that.
> 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