3월 19, 2024

enumerate란? index와 원소를 동시에 알 수 있는 내장함수

1. Python for문

for문을 돌릴 때 가장 기본이 되는 구조는 아래와 같다. 


a=[10, 11, 12, 13]
for index in range(4):
	print(index)
#result
#0
#1
#2
#3


a라는 list에서 range(4) 라고 하여 for문을 돌리면

0부터 4까지 하여 0 1 2 3이 출력된다. (또는 len() 함수를 사용해도 된다

 

만약 0, 1, 2, 3번에 해당되는 list의 숫자를 출력하고 싶다면 아래와 같이 적으면 된다.


a=[10, 11, 12, 13]
for index in range(4):
	print(a[index])
    
 #result
 #10
 #11
 #12
 #13

index번째에 있는 리스트의 숫자를 출력하라는 뜻이고,

각각 0번째, 1번째, 2번째, 3번째 수를 출력하여 결과적으로 10, 11, 12, 13이라는 값이 출력되게 된다. 


2. enumerate() 


여기서 그러면 list의 index와 index에 해당되는 숫자를 동시에 받아올 수 있는 방법은 없을까라는 생각이 들 수 있다.

그럴 때 바로 enumerate()라는 함수를 사용하면 되는 것이다. 

a=[10, 11, 12, 13]
for index, number in enumerate(a):
	print(index, number)
    
#result
#0 10
#1 11
#2 12
#3 13

파이썬에서 enumerate() 함수는 인덱스와 원소로 이루어진 tuple을 만들어 주는 함수이다.

index는 기본적으로 0으로부터 시작하게 된다.

 

위 코드에서 index가 말 그대로 list에서의 index를 의미하고, number는 해당 원소를 의미하게 된다. 이 두 변수명은 자신이 원하는 대로 설정해주면 된다.

 

따라서 위 코드를 실행하면

0 10

1 11

2 12

3 13

 

이런 식으로 출력되게 되는 것이다. 

 

생각보다 파이썬에서 for문을 돌리면서 인덱스와 원소를 함께 알아오면 편한 경우가 많기 때문에

enumerate()함수를 잘 알아두면 매우 편리할 것이다.