[Python-ideas] Fwd: Fwd: Fwd: unpacking generalisations for list comprehension
David Mertz
mertz at gnosis.cx
Mon Oct 17 22:17:13 EDT 2016
>
> For a more concrete example:
>
> [*range(x) for x in range(4)]
> [*(),*(0,),*(0,1),*(0,1,2)]
> [0, 0, 1, 0, 1, 2]
>
As Paul or someone pointed out, that's a fairly odd thing to do. It's the
first time that use case has been mentioned in this thread. It's true
you've managed to construct something that isn't done by flatten(). I
would have had to think a while to see what you meant by the original if
you haven't provided the intermediate interpretations.
Of course, it's *really simple* to spell that in a natural way with
existing syntax that isn't confusing like yours:
[x for end in range(4) for x in range(end)]
There is no possible way to construct something that would use the proposed
syntax that can't be expressed more naturally with a nested loop... because
it's just confusing syntax sugar for exactly that.
Your example looks like some sort of interview quiz question to see if
someone knows obscure and unusual syntax.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161017/f4763bca/attachment-0001.html>
More information about the Python-ideas
mailing list