On 2010-10-14, Paul Rubin <no.em...@nospam.invalid> wrote: > Carl Banks <pavlovevide...@gmail.com> 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