[Python-Dev] Tuple/list assignment question (original) (raw)
Dave Cole djc at object-craft.com.au
Wed Aug 4 06:57:29 CEST 2004
- Previous message: [Python-Dev] Tuple/list assignment question
- Next message: [Python-Dev] Tuple/list assignment question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Martin v. Löwis wrote:
Greg Ewing wrote:
Having to explicitly slice off the part you want to unpack not only seems inefficient (constructing an intermediate list or tuple just to immediately unpack it and throw it away) it also tends to obfuscate what is going on. Of course, the proposed syntax does not change this. Compare a,b,c = foo()[:3]
That is not really the use case for the feature. What I would really like is a nice way to avoid doing this:
lol = [[1, 2], [3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13]] for tmp in lol: ... a, b = tmp[:2] ... c = tmp[2:]
I think that the original is a nicer looking syntax, and is fairly consistent with the existing "varargs" handling in function signatures.
lol = [[1, 2], [3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13]] for a, b, *c in lol: ...
to
a,b,c,* = foo() In either case, the extra fields obfuscate things, and in either case, a second tuple is created. In the latter case, the tuple is even stored in a variable.
-- http://www.object-craft.com.au
- Previous message: [Python-Dev] Tuple/list assignment question
- Next message: [Python-Dev] Tuple/list assignment question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]