Python Anti Pattern - Using an unpythonic loop
Using an unpythonic loop
PEP20에 따르면 "There should be one- and preferably only one -obvious way to do it"이라고 나와있다.
각 요소에 접근하기 위해 증가하는 인덱스를 생성자쪽에서 사용하는 for루프는 좋지 않다.
이러한 경우, enumerate()를 사용하는것이 좋다.
Anti-pattern
l = [1,2,3] # creating index variable for i in range(0,len(l)): # using index to access list le = l[i] print(i,le)
위 코드는 리스트의 요소들에 접근하기위해 i변수를 사용한다.
이것은 파이썬에서 순회할 때 권장되지 않는 방법이다.
Best practice
for i, le in enumerate(l): print(i, le)
따라서 이는 위처럼 바뀌어야한다.
수정된 코드는 리스트를 순회할 때 가장 Pythonic한 코드의 예이다.
for루프안에서 enumerate()를 사용하면, 파이썬은 자동으로 첫번째 변수를 인덱스로, 두번째 변수를 리스트의 값으로 할당한다.
출처 : https://docs.quantifiedcode.com/python-anti-patterns/readability/using_an_unpythonic_loop.html
다른 사람들이 많이 읽은 글