코딩 연습

(파이썬) Python 내장함수 enumerate 본문

Python

(파이썬) Python 내장함수 enumerate

코딩아저씨 2017. 3. 22. 00:47
반응형

enumerate 함수는 다음과 같다.

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

enumerate 함수는 두 개의 매개변수 sequence, start 를 갖는다. 쉽게 말해서 enumerate 함수는 sequence 의 각각의 요소에 index 를 붙인 튜플을 생성하는 반복자를 리턴하는 함수라고 생각하면 된다. 내가 써 놓고도 무슨 말인지 하나도 모르겠다. 다음의 예제를 보면 한방에 이해가 간다는 것을 믿어 의심치 않는다.

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

start 의 기본값이 0으로 설정되어 있기 때문에, start 값을 전달하지 않으면 index 는 0부터 시작하게 된다. 따로 start 값을 전달하는 경우 index 는 전달된 start 값에서 시작하여 1씩 증가하게 된다. 


반응형


Comments