On 2010-10-14, Paul Rubin <[email protected]> wrote:
> Carl Banks <[email protected]> writes:
>
>> In general, the only way to test if a generator is empty is to try to
>> consume an item. (It's possible to write an iterator that consumes
>> an item and caches it to be returned on the next next(), and whose
>> boolean status indicates if there's an item left. ...)
>
> I remember thinking that Python would be better off if all generators
> automatically cached an item,
That would play havoc with generators that had side effects. Not
everybody who writes generators is using them to generate Fibonacci
numbers.
> so you could test for emptiness, look ahead at the next item without
> consuming it, etc.
And what happens when the generator is doing things like executing
database transactions?
> This might have been a good change to make in Python 3.0 (it would
> have broken compatibility with 2.x) but it's too late now.
--
Grant Edwards grant.b.edwards Yow! Excuse me, but didn't
at I tell you there's NO HOPE
gmail.com for the survival of OFFSET
PRINTING?
--
http://mail.python.org/mailman/listinfo/python-list