Python enumerate 모듈

Minsang Yu·2023년 6월 6일
0

enumerate 모듈

enumerate 함수는 파이썬ㄴ에서 많이 사용되는 내장함수중 하나입니다. 이 함수는 반복 가능한 (Iterable) 객체 (ex.리스트, 튜플, 문자열)를 입력으로 받아 각 요소의 인덱스와 값을 쌍으로 반환하는 이터레이터를 생성합니다.

# enumerate 함수의 기본 구문
enumerate(iterabe, start=0)
  • iterable : 반복 가능한 객체(리스트, 튜플, 문자열 등)를 나타냅니다.
  • start : (선택적 매개변수): 인덱스 시작 값입니다. 기본값은 0이며, 인덱스를 0 부터 시작합니다.

enumerate 함수는 이터레이터를 반환하며, 각 이터페이션마다 (인덱스, 값) 의 튜플을 반환합니다. 이를 통해 반복문을 돌면서 인덱스와 값에 동시에 접근할 수 있습니다.

# enumerate 예제
fruits = ['apple', 'banana', 'cherry']

for index, fruit in enumerate(fruits):
    print(index, fruit)

>>>
0 apple
1 banana
2 cherry

위의 예시에서 enumerate(fruits)(0, 'apple'), (1, 'banana'), (2, 'cherry')와 같은 튜플을 생성하는 이터레이터를 반환합니다. 반복문을 통해 각 튜플의 값을 indexfruit 변수에 할당하고 출력하면서 인덱스와 해당하는 과일을 함께 출력합니다.

enumerate 함수는 인덱스와 요소를 함께 사용해야 하는 경우 유용합니다. 예를 들어, 특정 조건을 만족하는 요소의 인덱스를 찾거나, 리스트의 인덱스와 값을 동시에 사용해야 하는 작업을 수행할 때 유용하게 사용할 수 있습니다.

# 좀 더 복잡한 예제 
fruits = ['apple', 'banana', 'cherry', 'apple', 'banana']
target_fruit = 'apple'

indices = []
for index, fruit in enumerate(fruits):
    if fruit == target_fruit:
        indices.append(index)

print(f"인덱스 {target_fruit}의 위치: {indices}")

>>>
인덱스 apple의 위치: [0, 3]

위의 예제에서는 fruits 리스트에서 'apple'이라는 값을 가진 요소의 인덱스를 찾습니다. enumerate 함수를 사용하여 각 요소의 인덱스와 값을 반복하고, fruit 변수에 할당합니다. if 문을 사용하여 fruit'apple'인지 확인하고, 맞으면 indices 리스트에 해당 인덱스를 추가합니다. 마지막으로, indices 리스트를 출력하여 'apple'의 위치를 보여줍니다.

#enumerate 함수를 사용하여 리스트의 요소를 역순으로 순회:

fruits = ['apple', 'banana', 'cherry']

for index, fruit in enumerate(reversed(fruits)):
    print(index, fruit)

>>>
0 cherry
1 banana
2 apple

위의 예제에서는 reversed 함수를 사용하여 fruits 리스트를 역순으로 순회합니다. enumerate 함수를 사용하여 각 요소의 인덱스와 값을 반복하고, indexfruit 변수에 할당하여 출력합니다. 결과적으로, 리스트의 요소들을 역순으로 인덱스와 함께 출력합니다.

profile
Jr. DataEngineer

0개의 댓글