[Python] enumerate() 함수 개념과 활용

2024. 3. 30. 18:00·Python

enumerate() 함수란?

python의 유용한 내장 함수 중 하나는 enumerate 함수이다. 활용  반복 가능한 객체 및 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 하여 인덱스와 값을 동시에 튜플 형태로 반환해 준다.

def enumerate(iterable, start=0):
    n = start
    for elem in iterable:
        yield n, elem
        n += 1

함수 형태 및 사용

반복 가능한 객체 iterable과 인덱스 시작 값인 start를 인자로 입력한다. start의 기본값은 0이기 때문에 start 없이 iterable만 입력하더라도 오류 없이 동작한다.

enumerate(iterable, start=0) # enumerate(iterable)

사용

리스트 seasons를 start 인자 없이 enumerate 함수에 적용하면 기본값 0부터 시작하여 (index, element) 튜플 형태로 반환하는 것을 확인할 수 있다. 또한 start 값을 입력하여 직접 지정할 수도 있다.

seasons = ['Spring', 'Summer', 'Fall', 'Winter']

list(enumerate(seasons))
# result : [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

list(enumerate(seasons, start=1))
# result : [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

for()

enumerate 함수는 주로 for문과 함께 사용된다. 인덱스와 리스트의 원소가 튜플의 형태로 이루어져 있어 동시에 활용하고자 할 때 유용하다. 또한 인덱스 변수를 따로 선언해 줄 필요가 없기 때문에 가독성과 편의성을 높일 수 있다.

for문과 enumerate 함수 함께 사용하기

아래 코드와 같이 인덱스와 리스트의 원소를 동시에 참조할 수 있어 편리하게 활용 가능하다.

seasons = ['Spring', 'Summer', 'Fall', 'Winter']

for i, s in enumerate(seasons):
    print(i, s)
# result
# 0 Spring
# 1 Summer
# 2 Fall
# 3 Winter

참고링크

Python 공식 문서 : enumerate

https://docs.python.org/3/library/functions.html#enumerate

 

[Python] enumerate함수

https://gsbang.tistory.com/entry/Python-enumerate%ED%95%A8%EC%88%98

 

[파이썬] 내장함수 enumerate()

https://velog.io/@turningtwenty/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%82%B4%EC%9E%A5%ED%95%A8%EC%88%98-enumerate

'Python' 카테고리의 다른 글

[Python] 특정, 다중 조건으로 리스트 정렬하기  (0) 2024.11.04
[Python] 셰이프 파일(shp) 데이터의 위도, 경도 및 주소 추출하기  (1) 2024.09.27
[Python] 한 줄에 여러 개 입력받기(map, split)  (2) 2024.05.17
[Python] 데크(Deque) 개념과 활용  (0) 2024.05.15
[Python] 람다(Lambda) 함수 개념과 활용  (0) 2024.03.28
'Python' 카테고리의 다른 글
  • [Python] 셰이프 파일(shp) 데이터의 위도, 경도 및 주소 추출하기
  • [Python] 한 줄에 여러 개 입력받기(map, split)
  • [Python] 데크(Deque) 개념과 활용
  • [Python] 람다(Lambda) 함수 개념과 활용
기억에 남는 블로그 닉네임
기억에 남는 블로그 닉네임
  • 기억에 남는 블로그 닉네임
    얕게, 깊게
    기억에 남는 블로그 닉네임
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 분류 전체보기
      • Data Engineering
        • Airflow
        • 빅데이터
        • 자동화
        • 기타
      • Infra
        • AWS
        • Terraform
        • [인프라 구축기] Terraform 활용 AWS ..
      • CS
        • 자료구조
        • 알고리즘
        • 네트워크
        • 데이터베이스
        • 이것이 취업을 위한 코딩 테스트다 with 파이썬
      • Python
      • Web
      • Git
      • 기타
        • 취업 & 진로
        • 회고록
        • 기타
      • 프로젝트 단위 공부
        • [부스트코스] DataLit : 데이터 다루기
        • [개인 프로젝트] 공모전 크롤링
        • [개인 프로젝트] FC Online 공식 경기 분..
        • 프로젝트 개선 방안
      • [프로그래머스] 데이터 엔지니어링 데브코스 3기
        • TIL(Today I Learn)
        • 숙제
        • 기타
      • 알고리즘 연습
        • 프로그래머스
        • 백준
  • 링크

    • 깃허브
    • 링크드인
    • 벨로그
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기억에 남는 블로그 닉네임
[Python] enumerate() 함수 개념과 활용
상단으로

티스토리툴바