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"))
매개변수로 받은 문자열을 찾지 못하면 -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"))
매개변수로 전달받은 문자열을 찾지 못하면 ValueError가 발생한다.
문자열 또는 리스트, 튜플 데이터에 사용할 수 있다.
참고 문서