티스토리 뷰

반응형

 

enumerate()

 

- 순서 -
1. enumerate 함수의 사용 예시
 - enumerate object로 출력
 - list 함수로 튜플 출력
 - for문을 이용해서 숫자와 요소 값을 각각의 변수에 저장
 - dictionary 생성에 이용
2. parameter
 - start

 


1. enumerate 함수의 사용

enumerate (iterable, start=0) 형태로 사용한다. 괄호( ) 안에 반복 가능한 iterable 자료형을 입력하면 숫자와 각 요소가 순서대로 출력된다. 순서는 0부터 출력되기 때문에 요소의 인덱스로도 활용할 수 있다. 숫자를 0이 아닌 다른 숫자부터 시작하게 하려면 start= 파라미터를 이용한다.

 

1-1) enumerate object로 출력

enumerate 함수를 사용해서 그대로 출력하면 enumerate object로 출력된다. 사용 예시는 아래와 같다.

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> enumerate(seasons)

<enumerate object at 0x0000023EA93AA778>

이러한 경우 출력값을 볼 수 없기 때문에 for문을 이용해서 각 요소를 출력한다던가 list를 이용해서 튜플로 출력하는 방식으로 사용할 수 있다.

 

1-2) enumerate 값을 list함수를 이용해서 튜플 출력하는 사용 예시

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))

[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

0부터 시작하는 숫자와 iterable 자료형의 각 요소가 짝을 이루어 튜플로 출력된다. 이러한 특성을 이용해서 숫자를 다양한 용도로 활용할 수 있다. 0부터 시작되기 때문에 인덱스로 요소의 위치를 찾는 데에도 이용할 수 있다.

 

 

1-3) for문으로 숫자와 각 요소를 출력하는 사용 예시

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> for x, y in enumerate(seasons):
>>>     print(x, y)

0 Spring
1 Summer
2 Fall
3 Winter

iterable 자료형의 위치에 해당하는 인덱스 값과 요소의 값을 변수에 각각 지정하여 동시에 출력하는 것이 가능하다. 숫자 요소와 iterable 자료형의 원소를 각각 다양하게 활용할 수 있다.

 

1-4) dictionary 자료형 생성에 이용할 수 있다.

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> dict_seasons = {x:y for x,y in enumerate(seasons)}
>>> dict_seasons

{0: 'Spring', 1: 'Summer', 2: 'Fall', 3: 'Winter'}

enumerate 함수로 출력되는 숫자를 키 값으로 이용해서 키 - 밸류 형태의 dict자료형 생성에 이용할 수도 있다.

 

2. Parameter

2-1) start

위에서 보았듯이 enumerate 함수는 숫자와 원소를 출력한다. 이때 숫자가 시작하는 기본값은 0이지만 숫자의 시작 값을 지정할 수도 있다. start 파라미터에 원하는 시작 값을 입력할 수 있다. 예를 들면 start=1이나 start=10 등등 숫자를 값으로 지정하면 된다.

 

기본값은 start=0이다. enumerate( ) 함수의 괄호( ) 안에 iterable 자료형만 넣고 start값을 지정하지 않으면 숫자는 0부터 출력된다. start 값에 1을 입력한 경우의 사용 예시를 보면 아래와 같다.

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons, start=1))

[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

 

반응형
댓글
반응형