Iterator class to allow self-restarting generator expressions?
gagsl-py2 at yahoo.com.ar
Mon Mar 2 12:43:31 CET 2009
En Mon, 02 Mar 2009 06:48:02 -0200, Lie Ryan <lie.1296 at gmail.com> escribió:
> Gabriel Genellina wrote:
>> En Sun, 01 Mar 2009 15:51:07 -0200, Chris Rebert <clp2 at rebertia.com>
>>> On Sun, Mar 1, 2009 at 8:54 AM, Gabriel Genellina
>>> <gagsl-py2 at yahoo.com.ar> wrote:
>>>> En Sun, 01 Mar 2009 13:20:28 -0200, John O'Hagan
>>>> <research at johnohagan.com>
>>>>> Inspired by some recent threads here about using classes to extend
>>>>> behaviour of iterators, I'm trying to replace some some top-level
>>>>> aimed at doing such things with a class.
>>>> I'm afraid you can't do that. There is no way of "cloning" a
>>> Really? What about itertools.tee()? Sounds like it'd do the job,
>>> albeit with some caveats.
>> It doesn't clone the generator, it just stores the generated objects in
>> a temporary array to be re-yielded later.
> How about creating something like itertools.tee() that will save and
> dump items as necessary. The "new tee" (let's call it tea) would return
> several generators that all will refer to a common "tea" object. The
> common tea object will keep track of which items has been collected by
> each generators and generate new items as necessary. If an item has
> already been collected by all generators, that item will be dumped.
That's exactly what itertools.tee does! Or I'm missing something?
More information about the Python-list