본문 바로가기
Python

[python] enumerate함수

by 콧등치기국수 2020. 12. 4.

1. enumerate 함수

  • 순회가능한 변수의 인덱스와 내용물을 튜플의 형태로 순서에 따라 반환한다.
  • enumerate는 “열거하다”라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.
  • 보통 enumerate 함수는 아래 예제처럼 for문과 함께 자주 사용된다.
>>> for i, 내용 in enumerate(['갑', '을', '병']): 
		print(i, 내용) 
        
0 갑 
1 을 
2 병

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할때,

enumerate 함수를 사용하면 매우 유용하다.

 

 

 

2. 예시

'선착순응모자.txt'파일에 사람 이름이 300개 저장되어 있다고 가정하자(n=300) 이때 '홍길동'이라는 이름이 포함되어 있는지, 있다면 몇 번째에 있는지 확인하는 프로그램을 만들려고 한다. 이때 작성되는 코드는?

 

f = open('선착순응모자.txt','r',encoding = 'utf8'):
names = f.read().split()
f.close()
in_entry = False
for i, name in enumerate(names):
	if name == '홍길동':
    	print( i+1, "번째 응모자")
        in_entry = True
        break
if not in_entry:
	print('응모하지 않았음')