[Python-Dev] Half-baked proposal: * (and **?) in assignments (original) (raw)
Delaney, Timothy tdelaney@avaya.com
Sun, 24 Nov 2002 10:57:44 +1100
- Previous message: [Python-Dev] test_codeccallbacks failing on Windows
- Next message: [Python-Dev] Half-baked proposal: * (and **?) in assignments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: Gareth McCaughan [mailto:Gareth.McCaughan@pobox.com]
a,b,*c = 1,2,3,4,5
FWIW, this has been proposed before, but no one ever bothered to make a PEP about it.
Each time it's come up, my gut feeling has been that I would really like it. I've often been in the situation where I'd like to pass a variable-length tuple from a function, but the current way of splitting it up is too clunky.
I hadn't thought of it before, but I do like the suggestion of allowing * in any location of the LHS. This would of course require that the LHS contains exactly zero or one * i.e.
a, b, c = t
*a, b, c = t # all leading into a, 2nd-last into b, last into c
a, *b, c = t # first into a, all middle into b, last into c
a, b, *c = t # first into a, second into b, all trailing into c
would all be legal constructs, but
*a, *b, c = t
a, *b, *c = t
*a, b, *c = t
*a, *b, *c = t
would all be illegal constructs.
I think the addition of this would lead to a more functional style of programming. This may be a plus for some people, and a minus for others.
For myself, the idea (including arbitrary placement of the *) is +1. However, I'm -1 on the idea of additional syntax on the RHS.
Tim Delaney
- Previous message: [Python-Dev] test_codeccallbacks failing on Windows
- Next message: [Python-Dev] Half-baked proposal: * (and **?) in assignments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]