[파이썬] for 루프에서 인덱스 얻기

enumerate() 내장 함수에 리스트를 넘기면 next() 메서드가 index와 value로 이뤄진 튜플을 반환합니다.

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

따라서 다음과 같이 for 루프를 돌릴 때 enumerate()를 조합해서 사용하면 인덱스와 값을 동시에 접근할 수 있습니다.

1
2
3
4
5
6
7
>>> for idx, val in enumerate(seasons):
print(idx, val)

0 Spring
1 Summer
2 Fall
3 Winter

추가로, enumerate() 내장 함수를 호출할 때 start 파라미터를 사용하면 0이 아닌 다른 시작 번호를 사용할 수 있습니다.

1
2
>>> list(enumerate(seasons[1:], start=1))
[(1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
공유하기