배우고 느끼고 생각하고 사랑하라

그리고 즐겨라

코딩 잡동사니/코딩 꿀팁

[Python 꿀팁] enumerate

gyubinc 2023. 1. 24. 19:45

enumerate()는 반복문을 통해 특정 data와 index를 동시에 뱉어주는 함수이다.

 

Python을 통해 코딩하는 과정에서 반복문에 사용하는 enumerate()는 상당히 효과적인 내장함수이다.

 

예를 들어,

['사과', '바나나', '배', '김치'] 라는 데이터를 입력해

1번째 먹은 음식은 사과입니다.

2번째 먹은 음식은 바나나입니다.

3번째 먹은 음식은 배입니다.

4번째 먹은 음식은 김치입니다.

라는 결과물을 출력하고 싶다면 여러 방식이 있다.

 

가장 먼저 떠오르는 방식은 아래와 같다.

data = ['사과', '바나나', '배', '김치']

def eating(i, food):
  return (f'{i}번째 먹은 음식은 {food}입니다.')

for i in range(len(data)):
  print(eating(i+1, data[i]))

 

data를 순차적으로 탐색하면서 해당 데이터 + 데이터의 index 모두 필요하기 때문에

range(len(data))를 통해 index를 받고 data 속에서 해당 index를 탐색하는 과정이 추가로 필요하다.

 

 

enumerate()를 활용하면 아래와 같이 조금 더 깔끔하게 코드를 작성할 수 있으며

특히 0부터 시작하는 데이터 타입들의 index를 출력 과정에서 1부터 시작하도록 작성한다면 발생할 수 있는 여러 실수들을 줄여준다.

 

option 중 start 는 시작 index 값을 지정해준다.

 

data = ['사과', '바나나', '배', '김치']

def eating(i, food):
  return (f'{i}번째 먹은 음식은 {food}입니다.')

for i, food in enumerate(data, start = 1):
  print(eating(i, food))