코딩테스트 문제를 연습하던중 enumerate함수에 대해서 궁금증이 생겼다.
다른 언어에도 사용하는 함수인지는 잘 알지 못하지만 문자열 문제에서 은근히 자주 쓰이는 것 같다.
Python에서의 enumerate() 함수는 Python 라이브러리에서 사용할 수 있는 기본 제공 함수이다.
주어진 입력을 컬렉션 또는 튜플로 가져와서 열거(Enumerate) 객체로 반환합니다. Python Enumerate() 명령은 반복 가능한 개체의 각 항목에 카운터를 추가해서 열거형 개체를 출력 문자열로 반환하는 동작이 이루어진다.
enumerate(iterable, startIndex)
iterable
: 반복할 수 있는 개체startIndex
: 개수는 루프의 첫 번째 항목에 대해 startIndex에 제공된 값으로 시작하고 루프의 끝에 도달할 때까지 다음 항목에 대해 증가. 단, 필수적으로 입력해야 되는 것이 아니라서 생략이 가능하다. (지정하지 않으면 카운트는 0부터 시작)입력으로 제공된 반복기(Iterable) 개체에 대한 각 항목에 대한 카운트 값과 함께 반복(Iterable) 가능한 개체를 반환한다.
item = ["zero", "first", "two"]
for var in enumerate(item):
print(var)
#Output
#(0, 'zero')
#(1, 'first')
#(2, 'two')
위의 예제를 실행해 보면 매개변수 startIndex를 생략하여 0부터 카운트되어 카운트 값과 함께 item의 값들이 출력된 것을 볼 수 있다.
item = ["zero", "first", "two"]
for i, var in enumerate(item):
print("{}번: {}".format(i, var))
#Output
#0번: zero
#1번: first
#2번: two
enumerate함수를 사용하여 for문을 돌려보면 리스트의 원소와 인덱스가 튜플형태로 담겨있기 때문에 각각을 출력하는 것도 가능하다.
https://school.programmers.co.kr/learn/courses/30/lessons/81301
위의 문제는 프로그래머스에 올라와 있는 Lv1 정도의 문제이다. 해당 함수에 대해 이해하고 응용을 조금 한다면 충분히 해결 가능하다.