# enumeratre()
- 반복문에서 인덱스와 원소를 함께 다룰 수 있도록 도와주는 함수
- 반복 가능한 객체(예: 리스트, 튜플, 문자열 등)을 입력으로 받아, 해당 객체의 각 원소에 대한 인덱스와 원소를 튜플 형태로 반환한다.
- 주로 for 루프와 함께 사용하여 코드의 가독성을 높이고, 추가 변수 없이도 인덱스를 활용할 수 있게 한다.
# 기본 문법
enumerate(iterable, start=0)
- iterable: 인덱스와 함께 열거할 반복 가능한 객체
- start: 시작 인덱스 번호. 기본값은 0이며, 다른 숫자로 설정하여 시작 인덱스를 변경할 수 있다.
## 예제
- 코드
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)
- 출력 결과
0 apple
1 banana
2 cherry
# 인덱스 시작 번호 변경하기
- start 인자를 사용하여, 인덱스를 원하는 숫자부터 시작할 수 있다.
- 코드
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
print(index, fruit)
- 출력 결과
1 apple
2 banana
3 cherry
# enumerate() 활용 예시
## 리스트나 튜플의 인덱스와 값을 동시에 출력하기
- enumerate()를 사용하면 반복문에서 인덱스를 따로 관리할 필요 없이, 깔끔하게 인덱스와 원소를 동시에 출력할 수 있다.
- 코드
names = ['Alice', 'Bob', 'Charlie']
for i, name in enumerate(names):
print(f"{i}: {name}")
- 출력 결과
0: Alice
1: Bob
2: Charlie
## 리스트 컴프리헨션과 함께 사용하기
- enumerate()는 리스트 컴프리헨션(list comprehension)에서도 활용이 가능하여, 간단하게 특정 인덱스와 값을 조합한 리스트를 생성할 수 있다.
- 코드
squares = [f"Index {i}: {i**2}" for i, _ in enumerate(range(10), start=1)]
print(squares)
- 출력 결과
['Index 1: 1', 'Index 2: 4', 'Index 3: 9', 'Index 4: 16', 'Index 5: 25', 'Index 6: 36', 'Index 7: 49', 'Index 8: 64', 'Index 9: 81', 'Index 10: 100']
## 조건에 맞는 인덱스 찾기
- enumerate()를 활용하여 조건에 맞는 인덱스를 찾을 수 있다.
- 코드
numbers = [10, 20, 30, 40, 50]
for idx, num in enumerate(numbers):
if num == 30:
print(f"30의 인덱스는 {idx}입니다.")
- 출력 결과
30의 인덱스는 2입니다.
728x90
'Python' 카테고리의 다른 글
[Pandas] 날짜/시간 데이터 처리하기(to_datetime(), .dt, to_period) (0) | 2024.11.18 |
---|---|
[Pandas] 데이터프레임의 행/열/데이터 개수 세기 (0) | 2024.11.18 |
[Pandas] apply lambda 식으로 데이터 가공하기 (0) | 2024.02.19 |
[Matplotlib] 데이터 시각화 (0) | 2024.02.03 |
[Pandas] 데이터 파일 읽고 쓰기 (0) | 2024.02.03 |