Python

[Python] find VS index

비번변경 2022. 1. 7. 20:00

Python에서 문자열의 특정 문자나 문자열의 위치를 찾을 때 일반적으로 find, index 등의 함수를 사용한다.

이 글에서는 두 함수의 차이점을 정리한다.

 

find

문자열에 매개변수로 받은 문자열의 위치(index)를 확인하여 반환한다. 매개변수로 받은 문자열이 중복하여 위치해도 처음 위치한 자리만을 반환한다.

str.find(SEARCHING_STR, [start], [end])

# 예시
print('"ABCDEFGHIJA".find("A") : ', "ABCDEFGHIJA".find("A"))
print('"ABCDEFGHIJA".find("A", 2) : ', "ABCDEFGHIJA".find("A", 2))
print('"ABCDEFGHIJA".find("Z") : ', "ABCDEFGHIJA".find("Z"))

find

매개변수로 받은 문자열을 찾지 못하면 -1을 반환한다.

문자열형 데이터에서만 사용할 수 있다.

 

index

문자열에 매개변수로 받은 문자열의 위치(index)를 확인하여 반환한다. 매개변수로 받은 문자열이 중복하여 위치해도 처음 위치한 자리만을 반환한다.

str.index(SEARCHING_STR, [start], [end])
list.index(SEARCHING_VALUE, [start], [end])

# 예시
print('"ABCDEFGHIJA".index("A") : ', "ABCDEFGHIJA".index("A"))
print('"ABCDEFGHIJA".index("A", 2) : ', "ABCDEFGHIJA".index("A", 2))
print('list("ABCDEFGHIJA").index("A") : ', list("ABCDEFGHIJA").index("A"))
print('list("ABCDEFGHIJA").index("A", 2) : ', list("ABCDEFGHIJA").index("A", 2))
print('"ABCDEFGHIJA".index("Z") : ', "ABCDEFGHIJA".index("Z"))

index

매개변수로 전달받은 문자열을 찾지 못하면 ValueError가 발생한다.

문자열 또는 리스트, 튜플 데이터에 사용할 수 있다.

 


참고 문서

https://ooyoung.tistory.com/78

https://ssungkang.tistory.com/entry/%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A8%EC%88%98-find%EC%99%80-index