안정민 2024. 3. 14. 12:03

for loop 에서 인덱스와 원소를 동시에 접근하면서 루프를 돌리는 방법.

for 문의 in 뒷 부분을 enumerate() 함수로 한 번 감싸주기만 하면 된다.

 

> for entry in enumerate(['A', 'B', 'C']):
...     print(entry)
...
(0, 'A')
(1, 'B')
(2, 'C')

 

enumerate() 함수는 기본적으로 인덱스와 원소로 이루어진 튜플을 만들어준다.

따라서 인덱스와 원소를 각각 다른 변수에 할당하고 싶다면 언패킹을 통해 인자를 풀어주어야 함

>>> for i, letter in enumerate(['A', 'B', 'C']):
...     print(i, letter)
...
0 A
1 B
2 C

 

 

루프를 돌리다보면 인덱스를 0이 아니라 다른 인덱스로 시작하고 싶을 때가 존재한다

이럴 때는 enumerate() 함수 호출 시 start 인자에 시작하고 싶은 숫자를 넘기면 된다.

>>> for i, letter in enumerate(['A', 'B', 'C'], start=1):
...     print(i, letter)
...
1 A
2 B
3 C