[Python-3000] PEP 3132: Extended Iterable Unpacking (original) (raw)
Steven Bethard steven.bethard at gmail.com
Thu May 3 18:24:46 CEST 2007
- Previous message: [Python-3000] PEP 3132: Extended Iterable Unpacking
- Next message: [Python-3000] PEP 3132: Extended Iterable Unpacking
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 5/3/07, Georg Brandl <g.brandl at gmx.net> wrote:
Steven Bethard schrieb: > On 5/3/07, Simon Percivall <percivall at gmail.com> 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] > 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?
IMO, it's likely that you would like to further process the resulting sequence, including modifying it.
Well if that's what you're aiming at, then I'd expect it to be more useful to have the unpacking generate not lists, but the same type you started with, e.g. if I started with a string, I probably want to continue using strings::
>>> first, *rest = 'abcdef'
>>> assert first == 'a', rest == 'bcdef'
By that same logic, if I started with iterators, I probably want to continue using iterators, e.g.::
>>> f = open(...)
>>> first_line, *remaining_lines = f
So I guess it seems pretty arbitrary to me to assume that a list is what people want to be using. And if we're going to be arbitrary, I don't see why we shouldn't be arbitrary in the same way as function arguments so that we only need on explanation.
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
- Previous message: [Python-3000] PEP 3132: Extended Iterable Unpacking
- Next message: [Python-3000] PEP 3132: Extended Iterable Unpacking
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]