[Python] enumerate() 함수

^_^·2022년 9월 16일
0

Python

목록 보기
9/9
post-thumbnail

enumerate() 함수

for 루프에서의 enumerate()

leetcode문제를 풀다 다른 사람의 코드에서 enumerate()함수를 접하게 되어 포스팅 한다. 파이썬에서 for 루프를 돌리는 기본적인 방법은 for 원소 in 목록 형태이다.

for i in ['a', 'b', 'c']
	print(i)

# 출력
a
b
c   

for 루프에서 원소뿐 아니라 인덱스(index)도 출력하려 할때 enumerate를 사용할 수 있다. 나 같은 경우 enumerate() 함수를 몰랐을때는 인덱스를 저장할 변수를 지정하고 for 루프를 돌때마다 값을 1씩 증가시켜 함께 출력 시켰었다.

enumerate를 사용하는 방법을 알아보자.

for i in enumerate(['a', 'b', 'c'])
	print(i)

# 출력
(0, 'a')
(1, 'b')
(2, 'c')

enumerate() 함수는 인덱스와 원소로 이루어진 튜플 형태를 만든다. 인덱스와 원소를 튜플이 아닌 형태로 출력하고 싶다면 언패킹을 사용한다.

for i,j in enumerate(['a', 'b', 'c'])
	print(i,j)
   
# 출력
0 a
1 b
2 c

인덱스의 시작을 지정할 수 있다. enumerate() 함수를 호출 할 때 start인자에 넣고싶은 숫자를 넘긴다.

for i,j in enumerate(['a', 'b', 'c'], start=1)
	print(i,j)
   
# 출력
1 a
2 b
3 c

enumerate() 함수

enumerate()함수를 호출한 결과를 대상으로 next()함수를 호출했다.

next() 함수는 반복 가능한 객체의 다음 요소를 반환한다

enumerate_letters = enumerate(['a', 'b', 'c'])
next(enumerate_letters)
>> (0, 'a')
next(enumerate_letters)
>> (1, 'b')
next(enumerate_letters)
>> (2, 'c')

enumerate() 함수는 인자로 넘어온 목록을 기준으로 인덱스와 원소를 차례로 접근하게 해주는 반복자 객체를 반환해주는 함수이다.

0개의 댓글