recognizing empty iterators
Steven Taschuk
staschuk at telusplanet.net
Tue Jul 22 18:41:29 EDT 2003
Quoth Michele Simionato:
> Steven Taschuk <staschuk at telusplanet.net> wrote in message news:<mailman.1058835583.22488.python-list at python.org>...
[...]
> > I don't have anything substantial to add to others' posts, but I
> > wonder: under what circumstances do you want to do this?
>
> I wanted to check the output of ifilter or imap; [...]
Ah. And then, if there were elements in the iterator, I assume
you would then process them somehow, right? Why not just do that
with a for loop, say, and check afterwards whether anything has
been done? A silly example:
processed = 0
for x in iterator:
process(x)
processed = processed + 1
if processed:
# ...
> [...] at the end I solved
> my problem in another way, nevertheless I am surprised there is no
> way to check for an empty iterator in current Python, it seems to be
> a quite legitimate question, isn't it?
Absolutely. I was just curious what the original problem was.
(I haven't read the iterators PEP in a while, but it seems to me
the iterator protocol is deliberately minimalistic. Makes it
easier to write them; and if you do frequently need lookahead,
writing a wrapper as others have suggested seems easy enough.)
--
Steven Taschuk "The world will end if you get this wrong."
staschuk at telusplanet.net -- "Typesetting Mathematics -- User's Guide",
Brian Kernighan and Lorrinda Cherry
More information about the Python-list
mailing list