On Sun, Oct 16, 2016 at 02:34:58PM +0200, Sven R. Kunze wrote:

> As this discussion won't come to an end, I decided to consult my girlfriend.
[...]
> >>> [(i,i,i) for i in range(4)]
> [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3)]

Did you remember to tell your girlfriend that a critical property of 
the "??? for i in range(4)" construct is that it generates one value per 
loop? It loops four times, so it generates exactly four values (in this 
case, each value is a bracketed term).


> Let's remove these inner parentheses again.
> 
> >>> [*(i,i,i) for i in range(4)]
>   File "<stdin>", line 1
> SyntaxError: iterable unpacking cannot be used in comprehension

It loops four times, so it must generate four values. What's the star 
supposed to do? Turn four loops into twelve?



-- 
Steve
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to