본문 바로가기
작업/Programming

파이썬(python) enumerate

 

 

 

파이썬(Python)의 기본 내장 함수(Built-in Function) 중 enumerate() 함수에 대해 정리했습니다.

 

영단어 enumerate는 "열거하다"의 의미를 가지고 있습니다. 

 

 

파이썬에서 enumerate는 순서가 있는 데이터의 순서 값과 원소 값을 추출할 때 사용합니다.

여기서 순서가 있다는 의미는 "Iterable" 성격이 있다는 것이며

이는 인덱스(Index)처럼 순차적으로 표현 가능한 자료형에 해당합니다.

 

 

영단어 iterate는 "되풀이, 반복하다"의 의미를 가지고 있습니다.

 

파이썬에서는 순차적으로 데이터에 접근할 수 있는 객체를 iterator 객체라고 하며

iterable 성격을 가지고 있다고 합니다.

iterable 객체는 리스트(list), 튜플(tuple), 딕셔너리(dict), 집합(set), 문자열(str)이 있습니다.

 

-- -- -- -- -- -- -- --

 

enumerate() 함수는 인자로 iterable 객체, 시작 번호를 받습니다.

 

"enumerate(iterable object, start=0)" 형태이며 start는 생략할 수 있습니다. (기본 값 0)

 

함수의 실행 결과로 튜플 리스트(tuple list)를 반환합니다.

(start 값, iterable object의 n번째 값) 쌍의 튜플이 리스트로 구성되어 있는 것입니다.

 

 

Python에서 정의된 enumerate()는 다음과 같습니다.

 

 

for문에서 iterable 객체의 값들을 하나씩 가져온 다음, start 값과 같이 반환합니다.

yield는 iterable 형태로 값이 없을 때까지 반복해서 return할 때 사용합니다.

 

코드를 통해서 더 알아보겠습니다.

 

 

-- -- -- -- -- -- -- --

 

 

월에 대한 순서 값과 영문 값을 순차적으로 출력하는 코드입니다.

 

 

반복문(for) 없이 변수 값에 enumerate() 함수를 사용하면 object 정보가 출력됩니다.

 

반복문에서 enumerate를 주로 사용하며 첫 인자 Num에는 순서 값, Month에는 Calendar 리스트의 원소가 순차적으로 대입됩니다.

 

 

 

기본 값은 0부터 시작하기 때문에 사용자 의도에 맞게 시작하려면 인자 값을 추가해야 합니다.

제대로 된 달력 구조를 만들기 위해서 시작 값을 1로 명시했습니다.

 

 

 

 

다른 예시로 딕셔너리를 사용해 보았습니다.

딕셔너리는 "키" : "값"의 쌍 구조를 가지고 있습니다.

 

enumerate를 사용할 경우 순서 값과 키 값을 획득합니다.

키에 해당하는 값을 얻기 위해서는 딕셔너리에 키를 인자로 넣어서 추출해야 합니다.

 

 

 

 

이상으로 enumerate에 대한 정리였습니다.

감사합니다.

 

 

- 끝 -