index() 함수

2025. 4. 20. 15:17·Language/Python

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부터 검색한 결과이다.
저작자표시 비영리 변경금지 (새창열림)

'Language > Python' 카테고리의 다른 글

sorted() 함수의 key=lambda 사용해서 정렬하기  (0) 2025.04.28
튜플(Tuple) 자료형  (0) 2024.12.31
리스트 자료형  (0) 2024.12.30
문자열 자료형  (0) 2024.12.29
숫자형 (Numeric Types)  (1) 2024.12.26
'Language/Python' 카테고리의 다른 글
  • sorted() 함수의 key=lambda 사용해서 정렬하기
  • 튜플(Tuple) 자료형
  • 리스트 자료형
  • 문자열 자료형
스우스우03
스우스우03
보안 전문가가 되기 위한 노력들
  • 스우스우03
    스우스우
    스우스우03
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 환경 세팅 및 사용법 (12)
        • 가상환경 (3)
        • Visual Studio Code (3)
        • GitHub (6)
      • Language (17)
        • Python (7)
        • C (2)
        • 알고리즘 (8)
      • Hack&Dev (15)
        • 암호학 (3)
        • Web (11)
        • Pwnable (1)
      • Wargame (88)
        • bandit wargame (42)
        • natas wargame (11)
        • wargame 암호학 (7)
        • Webhacking.kr (26)
        • wargame forensic (1)
        • wargame misc (1)
      • knowledge (8)
        • 기타 지식 (8)
      • 기타... (1)
  • hELLO· Designed By정상우.v4.10.0
스우스우03
index() 함수
상단으로

티스토리툴바