[Python] find() / index() / rfind() / rindex()

2024. 8. 6. 16:47·파이썬

변수.find(찾을 문자)
변수.index(찾을 문자) 

find()와 index()는 모두 문자열에서 특정 문자의 위치를 찾는 함수다.

함수 모두 변수.find(찾을 문자) 또는 변수.index(찾을 문자) 형태로 사용되며, 이 때 찾고자 하는 문자를 인자로 전달한다.

문자열에서 해당 문자가 처음으로 나타나는 위치의 인덱스를 반환하며, 인덱스는 0부터 시작한다.

 

 
# 문자 'b'가 처음 등장하는 위치를 출력
>>> 'abracadabra'.find('b')
1
>>> 'abracadabra'.index('b')
1

# 문자 'o'가 처음 등장하는 위치를 출력
>>> a = 'hello'
>>> a.find('o')
4
>>> a.index('o')
4

 

변수.find (찾을 문자, 시작점, 종료점)
변수.index(찾을 문자, 시작점, 종료점)

두 함수는 모두 문자열 내에서 검색을 시작할 위치와 끝낼 위치를 지정할 수 있다.

이 경우 (찾을 문자, 시작점) 또는 (찾을 문자, 시작점, 종료점) 형태로 사용된다.

종료점을 생략할 경우 문자열의 끝까지 검색한다. 단, 종료점만 지정하는 방법은 사용할 수 없다.

# 3번째 인덱스부터 'a'가 처음 등장하는 위치를 출력
>>> 'abracadabra'.index('a', 3)
4

# 1번째~3번째 사이에 'o'가 있는지 확인
>>> a = 'hello'
>>> a.find('o', 1, 3)
-1  # 찾는 값이 없으면 find는 -1을 반환

차이점

find() 함수

find() 함수는 찾는 문자가 문자열 내에 없을 경우 -1을 반환한다. 이 함수는 문자열에서만 사용 가능하며, 리스트나 튜플, 딕셔너리 등 다른 자료형에서는 사용할 수 없다. 만약 문자열이 아닌 자료형에서 사용하려 하면 AttributeError가 발생한다.

 

index() 함수

index() 함수는 찾는 문자가 없을 경우 ValueError를 발생시킨다. index()는 문자열 외에도 리스트나 튜플에서 사용할 수 있지만, 딕셔너리에서는 사용할 수 없으며, 이 경우 AttributeError가 발생한다.


변수.rfind(찾을 문자)
변수.rindex(찾을 문자)

문자열에서 해당 문자가 마지막으로 나타나는 위치의 인덱스를 찾고싶으면

'파이썬' 카테고리의 다른 글

[Python] 리스트를 문자열로 합치기 / join()  (0) 2024.08.07
[Python] 객체가 비어있는지 확인방법 / if ~ / if not ~  (0) 2024.08.07
[Python] enumerate()  (0) 2024.08.06
[Python] 리스트 컴프리헨션  (0) 2024.08.06
[Python] 문자열로 된 식 계산 / eval() / 보안이슈  (0) 2024.08.05
'파이썬' 카테고리의 다른 글
  • [Python] 리스트를 문자열로 합치기 / join()
  • [Python] 객체가 비어있는지 확인방법 / if ~ / if not ~
  • [Python] enumerate()
  • [Python] 리스트 컴프리헨션
audwndl
audwndl
audwndl 님의 블로그 입니다.
  • audwndl
    audwndl 님의 블로그
    audwndl
    • 분류 전체보기 (59)
      • 파이썬 (31)
      • 이게뭐야? (1)
      • 왜안돼? (1)
      • 프로그래머스 (26)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
audwndl
[Python] find() / index() / rfind() / rindex()
상단으로

티스토리툴바