Python에서 Enumerate를 사용하는 방법(인덱스를 사용한 반복)

Python에서 enumerate() 함수를 사용하는 방법을 알아보세요. 깔끔한 예제로 목록을 반복할 때 인덱스와 값을 모두 가져옵니다.

Editor에서 이 솔루션을 사용해 보세요.

개요

목록, 튜플 또는 문자열을 반복할 때 항목 자체와 함께 각 항목의 현재 인덱스를 추적해야 하는 경우가 많습니다. 일반적인 초보자 패턴은 수동으로 증가하는 별도의 카운터 변수를 사용하거나 'range(len(my_list))'를 사용하여 인덱스를 반복하는 것입니다. 그러나 Python은 훨씬 더 우아하고 파이썬적인 내장 솔루션인 `enumerate()` 함수를 제공합니다.

`enumerate()` 함수는 모든 반복 가능한 항목을 인수로 취하고 열거 객체를 반환합니다. 이는 인덱스-값 튜플 쌍을 생성합니다. 'for' 루프에서 튜플 압축 풀기를 사용하면 인덱스와 항목을 동시에 추출할 수 있습니다. 이렇게 하면 수동 카운터 변수 및 인덱싱 괄호가 필요하지 않으므로 코드가 훨씬 더 깔끔해지고 하나씩 오류가 발생할 가능성이 줄어듭니다.

기본적으로 `enumerate()`는 `0`부터 인덱스 계산을 시작합니다. 그러나 선택적인 `start` 키워드 인수(예: `enumerate(items, start=1)`)를 사용하여 사용자 정의 시작 인덱스를 전달할 수 있습니다. 사람들은 일반적으로 목록이 0이 아닌 1부터 계산되기 시작하기를 기대하기 때문에 이는 인간 사용자에게 목록 번호를 표시할 때 매우 유용합니다.

코드 및 실행 출력

이 스크립트는 열거를 사용하여 0과 1부터 시작하는 인덱스 항목 쌍을 가져오는 목록을 반복하는 방법을 보여줍니다.

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

# 1. Standard enumeration (starts at 0)
print("--- Standard Enumeration ---")
for index, fruit in enumerate(fruits):
    print(f"Index {index}: {fruit}")

# 2. Enumeration starting at a custom index (e.g., 1)
print("\n--- Starting at 1 ---")
for num, fruit in enumerate(fruits, start=1):
    print(f"Item #{num}: {fruit}")
터미널 출력
--- Standard Enumeration ---
Index 0: apple
Index 1: banana
Index 2: cherry

--- Starting at 1 ---
Item #1: apple
Item #2: banana
Item #3: cherry

단계별 구현

  • 목록(또는 반복 가능한 항목)을 내장된 enumerate() 함수에 전달하세요.
  • enumerate(list)의 인덱스 값 구문을 사용하여 for 루프에서 반환된 튜플을 압축 해제합니다.
  • 초기 인덱스 카운터 값을 수정하려면 시작 매개변수(예: start=1)를 제공합니다.

자주 묻는 질문

enumerate()가 원래 목록을 수정합니까?

아니요, enumerate()는 게으른 반복자 객체를 반환하고 원래 목록을 완전히 수정되지 않은 상태로 둡니다.

enumerate()를 사전과 함께 사용할 수 있나요?

예, 하지만 사전을 직접 반복하면 해당 키가 생성됩니다. 인덱스 키 값을 반복하려면 다음을 사용합니다. for i, (k, v) in enumerate(my_dict.items()):.

관련 주제

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.