[Python] enumerate()

짱구석·2020년 10월 5일
0
post-thumbnail

파이썬의 내장 함수 중 하나이 enumerate에 대해서 알아보겠습니다.

enumerate(반복가능한 객체, 시작 값(기본값 = 0))

열거 객체를 돌려줍니다. iterable 은 시퀀스, 이터레이터 또는 이터레이션을 지원하는 다른 객체여야 합니다. enumerate() 에 의해 반환된 이터레이터의 next() 메서드는 카운트 (기본값 0을 갖는 start 부터)와 iterable 을 이터레이션 해서 얻어지는 값을 포함하는 튜플을 돌려줍니다.

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

- 파이썬 공식 문서 -

즉, 인수로 반복가능한 객체를 주면 출력으로 0(시작 카운트) 부터 객체요소의 순서대로 지정된
카운트를 튜플의 형태로 반환합니다.

물론 시작 카운트는 사용자가 지정이 가능합니다.(기본값=0)

for문을 사용하면서 리스트를 인자로 주면서, 리스트의 인덱스가 필요한 경우가 있습니다.

# enumerator 미사용
cnt = 0
for i in list :
    i = cnt
    cnt = cnt + 1

이렇게 되어있는 구문을

# enumerator 사용
for i,j in enumerate(list) :
    i = j

다음과 같이하면 별도의 변수를 카운팅하지 않아도 해당 list 요소의 index값 처럼 사용할 수 있습니다.

0개의 댓글