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()
'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 |