Python에서 Enumerate를 사용하는 방법(인덱스를 사용한 반복)
Python에서 enumerate() 함수를 사용하는 방법을 알아보세요. 깔끔한 예제로 목록을 반복할 때 인덱스와 값을 모두 가져옵니다.
개요
목록, 튜플 또는 문자열을 반복할 때 항목 자체와 함께 각 항목의 현재 인덱스를 추적해야 하는 경우가 많습니다. 일반적인 초보자 패턴은 수동으로 증가하는 별도의 카운터 변수를 사용하거나 '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 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 루프
Python 루프를 사용하여 데이터를 반복하는 방법을 알아보세요. 대화형 예제를 통해 for 루프, while 루프, 중단, 계속 및 루프 모범 사례를 마스터하세요.
Python 문자열 메서드 치트 시트
Python 문자열 조작에 대한 완전한 참조 가이드입니다. 문자열 속성의 서식 지정, 검색, 분할, 바꾸기 및 확인을 마스터합니다.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.