3
동일한 변수 이름을 사용하는 것이 좋지 않습니다.목록 이해에 동일한 변수 이름을 사용하면 오류가 발생합니다.
나는 이것이 기술적으로 왜 일어 났는지 알고 싶습니다.
In [1]: a=[1,2,3]
In [2]: b=[4,5,6]
In [3]: [a for a in a]
Out[3]: [1, 2, 3]
In [4]: a
Out[4]: [1, 2, 3]
In [5]: [(a,c) for a in a for c in b]
Out[5]: [(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
In [6]: [(a,b) for a in a for b in b]
---------------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
<ipython-input-6-bac0ec331d24> in <module>()
----> 1 [(a,b) for a in a for b in b]
<ipython-input-6-bac0ec331d24> in <listcomp>(.0)
----> 1 [(a,b) for a in a for b in b]
UnboundLocalError: local variable 'b' referenced before assignment