I have below code on list comprehension.
x = 2
y = 3
[x*y for x in range(x) for y in range(y)]
This is giving me below error
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
[x*y for x in range(x) for y in range(y)]
File "<pyshell#35>", line 1, in <listcomp>
[x*y for x in range(x) for y in range(y)]
UnboundLocalError: local variable 'y' referenced before assignment
However, below code works.
[x*y for x in range(x)]
[0, 5]
Is there any scoping rule for the second for
loop in list comprehension?
I am using Python 3.6.