[Python-3000] PEP: rename it.next() to it.__next__(), add a next() built-in
Guido van Rossum
guido at python.org
Tue Mar 6 19:24:50 CET 2007
Having now read this entire thread I am going to accept Ping's PEP.
Adding the sentinel argument to the next() builtin was what did it for
me: it neatly solves the problem if having to catch that StopIteration
in 99% of the cases.
Thanks all for the discussion!
On 3/6/07, Guido van Rossum <guido at python.org> wrote:
> On 3/5/07, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> > Ka-Ping Yee wrote:
> > > Just like getattr, two-argument next(iter, sentinel)
> > > returns sentinel if StopException is caught.
> > +1. I've written a number of pieces of code where this
> > would have made things neater. Just about any place
> > where I've used .next() explicitly, in fact -- it
> > always seems awkward having to deal with StopIteration.
> Also notice the (in some sense ironic) complementary symmetry with
> iter(function, sentinel).
> --Guido van Rossum (home page: http://www.python.org/~guido/)
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-3000