본문 바로가기
개발/오늘의 개발일지

[Python] 반복문에서 요소와 인덱스 활용을 위한 enumerate 이해하기

by 꾀돌이 개발자 2024. 11. 19.
반응형

 

반복문에서 요소와 인덱스를 효과적으로 활용하기 위한 enumerate 내장함수를 이해합니다.

 

 

 
 

목차

     

    개발 의도

    # 리스트 변수 생성
    alpha = ['a', 'b', 'c', 'd', 'e']
    
    # index 생성
    i = 0
    
    for x in alpha:
        # 인덱스가 짝수일 때만 출력
        if i % 2 == 0:
            print(x)
        # index 1 증가
        i += 1
    
    # 출력값: a, c, e

    - 위와 같이 배열을 생성하고, 홀수 번째 원소를 출력하는 코드를 작성합니다.

     

    문제 상황

    - 위 코드는 정상적으로 작동합니다.

     

    - 단, i = 0i += 1 코드 없이 반복문을 활용하는 방법을 찾아봅니다.

     

    문제 원인 파악

    # 리스트 변수 생성
    alpha = ['a', 'b', 'c', 'd', 'e']
    
    for x in alpha:
        print(x)
    
    # 출력값: a, b, c, d, e

    - for x in alpha x에 alpha의 원소만을 반환합니다.

     

    # 리스트 변수 생성
    alpha = ['a', 'b', 'c', 'd', 'e']
    
    for x in enumerate(alpha):
        print(x)
    
    # 출력값: (0, 'a')
    #        (1, 'b')
    #        (2, 'c')
    #        (3, 'd')
    #        (4, 'e')

    - for x in enumerate(alpha) 함수를 활용하여 x에 (인덱스, 원소)를 반환합니다.

     

    enumerate를 통한 인덱스 관리

    # 리스트 변수 생성
    alpha = ['a', 'b', 'c', 'd', 'e']
    
    for i, x in enumerate(alpha):
        # 인덱스가 짝수일 때만 출력
        if i % 2 == 0:
            print(x)
    
    # 출력값: a, c, e

    - 위와 같이 enumerate 내장 함수를 활용하면

          반복문 내에서 별도의 인덱스를 따로 관리할 필요를 없애줍니다.

     

    아래 코드로 디버깅 완료

    # 리스트 변수 생성
    alpha = ['a', 'b', 'c', 'd', 'e']
    
    for i, x in enumerate(alpha):
        # 인덱스가 짝수일 때만 출력
        if i % 2 == 0:
            print(x)
    
    # 출력값: a, c, e

    - 결과적으로 enumerate를 활용을 통해

          인덱스 관리를 편하게 해주고,

          코드의 가독성을 높일 수 있습니다.

    반응형