2017-10-28 6 views
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 

답변