더북(TheBook)

실제로 순환 안에서 색인 위치를 전혀 사용할 필요가 없는데도 불구하고 색인을 사용하는 것은 파이썬에서 일반적으로 코드의 악취로 간주됩니다. 더 관용적인 사용 방식은 다음과 같이 단순합니다.

for item in items:
    process(None, item)

색인과 그에 연결된 항목을 모두 사용하는 경우가 비교적 흔한데, 이런 경우enumerate()를 사용하는 것이 훨씬 관용적이고 표현도 잘 됩니다.

for i, item in enumerate(items):
    process(i, item)

반대로 드물게 항목 자체는 필요하지 않으나 색인이 필요한 경우가 있습니다. 이런 경우 저는 종종 enumerate()를 기본적으로 사용하고, 대신 파이썬에서 ‘사용하지 않는 값’을 의미하는 _를 사용합니다.

for i, _ in enumerate(items):
    process(i, None)

제가 여러 개의 증분 값을 사용하고 싶을 때 사용하는 방법은 순환 전에 여러 개의 증분 변수를 초기화하는 것입니다. 이때 증분 변수 중 하나를 enumerate()로 대체할 수 있는 상황이라고 할지라도 따로 enumerate()를 사용하지 않는다는 점에 주목해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.