반응형
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
'Coding > Python' 카테고리의 다른 글
Python Observer Pattern (0) | 2019.02.20 |
---|---|
PyCharm AWS Lambda Plugin으로 작업하는 방법 (0) | 2019.02.11 |
Python Anti Pattern - Test for object identity should be is (0) | 2019.01.28 |
Python Anti Pattern - Not using unpacking for updating multiple values at once (0) | 2019.01.28 |
Python Anti Pattern - Not using named tuples when returning more than one value from a function (0) | 2019.01.28 |