728x90
728x90
목 차
0. 요약
- enumerate()는 인덱스와 값을 동시에 가져올 때 유용합니다.
- for 루프에서 리스트의 인덱스를 따로 관리하지 않아도 되는 장점이 있습니다.
1. enumerate 함수란?
enumerate() 함수는 파이썬에서 리스트, 튜플, 문자열 등과 같은 이터러블(반복 가능한 객체)의 각 요소에 대해 인덱스와 해당 요소를 함께 반환해주는 함수입니다. 이를 통해 이터러블의 요소를 반복하면서 인덱스를 쉽게 추적할 수 있습니다.
2. 기본 구조
- iterable : 리스트, 튜플, 문자열 같은 반복 가능한 객체
- start : 인덱스의 시작값 (기본값은 0)
enumerate(iterable, start=0)
3. 기본 사용법
names = ['Alice', 'Bob', 'Charlie']
# enumerate로 리스트 요소와 인덱스를 동시에 출력
for index, name in enumerate(names):
print(f"Index: {index}, Name: {name}")
'''
실행 결과
Index: 0, Name: Alice
Index: 1, Name: Bob
Index: 2, Name: Charlie
'''
4. 시작 인덱스 설정하기
- enumerate 두번째 인자 값을 통해 인덱스 시작값을 설정할 수 있습니다.
# 인덱스를 1부터 시작
for index, name in enumerate(names, 1):
print(f"Index: {index}, Name: {name}")
'''
실행 결과
Index: 1, Name: Alice
Index: 2, Name: Bob
Index: 3, Name: Charlie
'''
5. 문자열에 함수 사용
- 문자열도 반복 가능한 객체이므로, enumerate()를 사용하여 각 문자의 인덱스와 함께 접근할 수 있습니다.
names = "python"
# enumerate로 문자와 인덱스를 동시에 출력
for index, name in enumerate(names):
print(f"Index: {index}, Name: {name}")
'''
실행 결과
Index: 0, Name: p
Index: 1, Name: y
Index: 2, Name: t
Index: 3, Name: h
Index: 4, Name: o
Index: 5, Name: n
'''
6. 리스트 내포와 함께 사용
names = ['Alice', 'Bob', 'Charlie']
# 각 이름에 인덱스를 추가한 새로운 리스트 생성
indexed_names = [f"{index}: {name}" for index, name in enumerate(names, 1)]
print(indexed_names)
'''
실행 결과
['1: Alice', '2: Bob', '3: Charlie']
'''
7. 딕셔너리에서 사용
- 딕셔너리의 키와 값을 enumerate()로 직접 사용할 수는 없지만, items()를 사용하여 키와 값의 쌍에 접근할 수 있습니다.
- 딕셔너리 타입은 순서가 없는 자료 구조이기는 하나 파이썬 3.7 버전 이후로는 인덱스 번호가 동일하게 유지되도록 변경 되었습니다. 딕셔너리 자료형에 삽입된 순서를 기준으로 인덱스 번호를 만듭니다.
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 딕셔너리의 키, 값 쌍을 enumerate로 인덱스와 함께 출력
for index, (key, value) in enumerate(person.items()):
print(f"Index: {index}, Key: {key}, Value: {value}")
'''
실행 결과
Index: 0, Key: name, Value: Alice
Index: 1, Key: age, Value: 25
Index: 2, Key: city, Value: New York
'''
728x90
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] 파이썬 대문자 소문자 변경 (upper, lower, capitalize, title, swapcase, isupper, islower) (0) | 2024.09.30 |
---|---|
[Python] 파이썬 짝수 홀수 판별 예제 (0) | 2024.09.29 |
[Python] 파이썬 숫자 소수 판별 알고리즘 구현 (0) | 2024.09.25 |
[Python] 문자열 거꾸로 뒤집기 4가지 방법 (슬라이싱, reverse(), reversed(), for문) (0) | 2024.09.24 |
[Python] 모듈 없이 간단한 초를 시분초로 변환하기 (Time conversion in seconds) (0) | 2024.09.22 |