On 5/3/07, Simon Percivall <[EMAIL PROTECTED]> wrote:
> On 2 maj 2007, at 20.08, Guido van Rossum wrote:
> > [Georg]
> >>>>>>> a, *b, c = range(5)
> >>>>>>> a
> >>>> 0
> >>>>>>> c
> >>>> 4
> >>>>>>> b
> >>>> [1, 2, 3]
> >
> > <snip>
> > That sounds messy; only allowing *a at the end seems a bit more
> > manageable. But I'll hold off until I can shoot holes in your
> > implementation. ;-)
>
> As the patch works right now, any iterator will be exhausted,
> but if the proposal is constrained to only allowing the *name at
> the end, wouldn't a more useful behavior be to not exhaust the
> iterator, making it similar to:
>
> > it = iter(range(10))
> > a = next(it)
> > b = it
>
> or would this be too surprising?
In argument lists, *args exhausts iterators, converting them to
tuples. I think it would be confusing if *args in tuple unpacking
didn't do the same thing.
This brings up the question of why the patch produces lists, not
tuples. What's the reasoning behind that?
STeVe
--
I'm not *in*-sane. Indeed, I am so far *out* of sane that you appear a
tiny blip on the distant coast of sanity.
--- Bucky Katt, Get Fuzzy
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com