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?