파이썬에서 range 대신에 enumerate 사용하기
파이썬에서 반복문을 작성할 때 range를 사용하는 것이 일반적이지만, 경우에 따라 enumerate 함수를 사용하는 것이 더 효율적일 수 있습니다. 이 글에서는 enumerate의 사용법과 range 대신 enumerate를 사용해야 하는 경우를 예제와 함께 살펴보겠습니다.
enumerate란?
enumerate 함수는 반복 가능한(iterable) 객체를 인덱스와 함께 순회할 수 있게 해주는 내장 함수입니다. enumerate를 사용하면, 현재 요소의 인덱스와 값을 동시에 얻을 수 있습니다.
range vs. enumerate
range를 사용하면 인덱스를 기반으로 반복문을 실행할 수 있습니다. 그러나 enumerate를 사용하면, 인덱스와 해당 인덱스의 요소를 동시에 얻을 수 있어 코드가 더 간결하고 이해하기 쉬워집니다.
예제: range 사용
colors = ['red', 'green', 'blue']
for i in range(len(colors)):
print(i, colors[i])
이 코드는 colors 리스트의 인덱스와 값을 출력합니다. 하지만 range와 len을 함께 사용해야 하기 때문에 다소 복잡해 보입니다.
예제: enumerate 사용
colors = ['red', 'green', 'blue']
for index, color in enumerate(colors):
print(index, color)
enumerate를 사용하면 같은 결과를 훨씬 간결하게 얻을 수 있습니다. 이 방법은 인
덱스와 요소를 동시에 얻기 위해 추가적인 인덱싱이 필요 없기 때문에 코드의 가독성이 크게 향상됩니다.
enumerate의 장점
- 가독성: 코드가 더 간결하고 읽기 쉽습니다.
- 효율성: 추가적인 인덱싱 연산 없이 인덱스와 요소에 바로 접근할 수 있습니다.
- 유연성: 시작 인덱스를 변경할 수 있습니다 (enumerate(iterable, start=1) 처럼 시작 인덱스를 지정).
결론
enumerate 함수는 파이썬에서 반복문을 작성할 때 range보다 더 간결하고 효율적인 방법을 제공합니다. 특히, 리스트나 튜플 같은 시퀀스의 요소와 그 인덱스를 동시에 처리해야 할 때 enumerate의 사용을 고려해 보세요.
'프로그래밍 언어 > python' 카테고리의 다른 글
파이썬에서 루프 후의 else 사용을 피하자 (0) | 2024.01.17 |
---|---|
파이썬에서 zip을 사용하여 여러 이터레이터 나란히 순회하기 (0) | 2024.01.16 |
파이썬에서 데이터 언패킹: 인덱스 대신 대입 사용하기 (0) | 2024.01.16 |
파이썬에서 복잡한 식을 간결하게: 도우미 함수의 활용 (0) | 2024.01.16 |
파이썬에서 bytes와 str의 차이점 (0) | 2024.01.16 |