조금씩 꾸준히 완성을 향해

[Python] String method / index()와 find() 비교 본문

Python/문법

[Python] String method / index()와 find() 비교

all_sound 2022. 8. 25. 11:50

index()    find()

 

문자열에서 특정 문자열을 찾을 때 쓰는 함수들이다. 쓰임이 비슷하지만 결정적인 차이점이 존재한다. 

 

 

▶ 사용 방법

 

두 함수 모두 사용 방법은 동일하다. 

str = 'Hello World'

print(str.find('o'))  # 4
print(str.index('o'))  # 4

찾을 문자열을 함수의 인자로 넣어주면, 그 문자열의 index 값을 반환한다. 

 

 

 

▶ 차이점 

 

이 두 함수의 차이점은 존재하지 않는 문자열을 찾을 때 드러난다.

 

str = 'Hello World'

print(str.find('p'))  # -1

find()의 경우 해당 문자가 존재하지 않을 때 -1을 반환한다.

 

 

str = 'Hello World'

print(str.index('p'))

반면에 index()의 경우 해당 문자가 존재하지 않을 때 error를 발생시킨다. 

 

 

 

되도록이면 index 대신 find 를 사용하는 것이 안전할 것 같다.