
Greg Ewing wrote:
Nick Coghlan <ncoghlan@iinet.net.au>:
Whereas the list assignment proposal gives special synactic sugar to *one* form of slicing (x[0], ..., x[n], x[(n+1):]).
It's a comparatively common one, though, I think. When doing things like parsing input, it's often natural to want to peel off the first few items of a list and leave the rest for processing later, based on what the initial items turn out to be.
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.
So I suppose you could avoid the unnecessary tuple construction by doing something like this:
a_list = [1, 2, 3, 4, 5] a, b, * = a_list
lol = [[1, 2], [3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13]] for a, b, * in lol: ...
But that looks a bit bogus - but does avoid having to create the extra tuple. - Dave -- http://www.object-craft.com.au