프로그래밍 숲

파이썬 for문 사용시 range보다 enumerate가 더 나은 이유 본문

프로그래밍_인포/Python

파이썬 for문 사용시 range보다 enumerate가 더 나은 이유

jjscript 2023. 6. 17. 22:39
728x90
반응형

파이썬 for문에서 range와 enumerate의 간단한 예시

names = ['Alice', 'Bob', 'Charlie']

# for문에서 range 사용
for i in range(len(names)):
    print(f"Index: {i}, Name: {names[i]}")

# for문에서 enumerate 사용
for index, name in enumerate(names):
    print(f"Index: {index}, Name: {name}")

파이썬 for문에서 range보다 enumerate가 더 나은 이유

1. 향상된 가독성

'enumerate'를 사용하면 한 줄에서 iterable(names)의 인덱스('index')와 해당 요소('name') 모두에 액세스할 수 있는 보다 표현적이고 읽기 쉬운 방법을 제공합니다. 이것은 코드를 더 간결하고 이해하기 쉽게 만듭니다.

2. 중복 인덱싱 방지

첫번째 코드 스니펫(for i in range(len(names)))에서 names[i]를 사용하여 각 인덱스의 요소에 액세스합니다. 그러나 여기에는 중복 인덱싱 작업이 포함되어 덜 효율적일 수 있습니다. 두 번째 코드 스니펫(for index, name in enumerate(A))에서는 enumerate를 사용하여 요소(v)에 직접 액세스하므로 명시적인 인덱싱이 필요하지 않습니다.

3. 반복 가능한 유형(Iterable)의 유연성

'enumerate' 함수는 목록뿐만 아니라 튜플이나 문자열과 같은 다른 반복 가능한 유형과도 작동합니다. 이는 코드를 크게 변경하지 않고도 다양한 유형의 이터러블을 처리하도록 코드를 쉽게 조정할 수 있음을 의미합니다.

728x90
반응형
Comments