더북(TheBook)

enumerate가 넘겨주는 각 쌍을 for 문에서 간결하게 언패킹할 수 있다(Better way 6: ‘인덱스를 사용하는 대신 대입을 사용해 데이터를 언패킹하라’ 참고). 이로써 코드가 훨씬 깔끔해진다.

for i, flavor in enumerate(flavor_list):
    print(f'{i + 1}: {flavor}')

>>>
1: 바닐라
2: 초콜릿
3: 피칸
4: 딸기

enumerate의 두 번째 파라미터로 어디부터 수를 세기 시작할지 지정할 수 있다(다음 코드에서는 1). 이를 활용하면 코드를 더 깔끔하게 만들 수도 있다.

for i, flavor in enumerate(flavor_list, 1):
    print(f'{i}: {flavor}')

기억해야 할 내용

enumerate를 사용하면 이터레이터에 대해 루프를 돌면서 이터레이터에서 가져오는 원소의 인덱스까지 얻는 코드를 간결하게 작성할 수 있다.

range에 대해 루프를 돌면서 시퀀스의 원소를 인덱스로 가져오기보다는 enumerate를 사용하라.

enumerate의 두 번째 파라미터로 어디부터 원소를 가져오기 시작할지 지정할 수 있다(디폴트 값은 0이다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.