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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4