Language/Python
index() 함수
스우스우03
2025. 4. 20. 15:17
1. 파이썬 index() 함수
- index() 함수는 리스트(List), 튜플(Tuple), 문자열(String) 등의 시퀀스 자료형에서 특정 값의 첫 번째 위치(인덱스)를 반환하는 함수이다.
1.1 기본 문법
시퀀스.index(찾을값, 시작인덱스(옵션), 끝인덱스(옵션))
- 찾을값 : 시퀀스 내에서 찾고자 하는 값이다.
- 시작인덱스 : 탐색을 시작할 위치이며 기본값은 0이다.
- 끝인덱스 : 탐색을 종료할 위치이며 기본값은 시퀀스의 끝이다.
1.1.1 반환값
- 찾는 값이 존재하면 해당 값이 처음 등장하는 위치(인덱스)를 반환한다.
- 찾는 값이 없으면 ValueError 예외가 발생한다.
1.2 예제
1.2.1 리스트에서 사용 예시
fruits = ['apple', 'banana', 'cherry', 'banana']
index_banana = fruits.index('banana')
print(index_banana) # 출력: 1
- 첫 번째 'banana'가 등장하는 인덱스인 1이 반환된다.
1.2.2 시작 위치와 종료 위치 지정
fruits = ['apple', 'banana', 'cherry', 'banana']
index_banana = fruits.index('banana', 2)
print(index_banana) # 출력: 3
- 인덱스 2부터 검색하므로 두 번째 'banana'가 있는 3이 반환된다.
1.2.3 문자열에서 사용 예시
text = "hello world"
print(text.index('o')) # 출력: 4
print(text.index('o', 5)) # 출력: 7
- 문자열도 인덱스 기반 시퀀스이므로 동일하게 사용 가능하다.
1.2.4 없는 값을 찾을 때 예외 발생
numbers = [1, 2, 3]
print(numbers.index(5)) # ValueError: 5 is not in list
- 값이 존재하지 않으면 ValueError가 발생하므로 예외 처리를 고려해야 한다.
1.3 예외 처리와 함께 사용
try:
idx = ['a', 'b', 'c'].index('d')
except ValueError:
idx = -1
print(idx) # 출력: -1
- 존재하지 않을 경우를 대비해 try-except 블록으로 안전하게 처리하는 것이 좋다.
1.4 유의 사항
- index() 함수는 가장 먼저 발견된 요소의 인덱스만 반환한다.
- 여러 개가 존재해도 가장 앞의 값만 반환되므로, 다음 값을 찾으려면 start 인덱스를 변경해서 반복적으로 호출해야 한다.
1.5 여러 개의 동일한 값 찾기 예시
bools = [True, False, True, False]
first = bools.index(False) # 1
second = bools.index(False, first + 1) # 3
- first는 첫 번째 False의 인덱스이며,
- second는 그 다음 False를 찾기 위해 first + 1부터 검색한 결과이다.