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 Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com