파이썬에서 특정 문자열의 위치, 인덱스 번호를 찾고자 할 때 find() 함수를 사용할 수 있다.
예를 들어, '123456'이라는 문자열에서 '3'의 인덱스 번호를 찾으려면 찾고자 하는 문자열을 매개변수로 전달하는 find(찾을 문자열)와 같이 작성해 주면 된다.
3번 인덱스부터 찾고자 하면 find(찾을 문자열, 시작 위치)로 작성해 주면 된다.
0번 인덱스부터 3번 인덱스 사이에서 찾고자 하면 find(찾을 문자열, 시작 위치, 종료 위치)로 작성해주면 된다.
문장에서 단어를 찾는 예를 살펴보자.
'hello my name is'에서 'name'의 위치를 찾으면 'name'이 위치하는 9번 인덱스를 리턴한다. 이는 'name'의 첫 번째 글자인 'n'의 인덱스 번호이다.
만약, 존재하지 않는 값을 매개변수로 전달하면 find() 함수는 -1을 리턴한다.
find()와 같은 역할을 하는 index()에서는 존재하지 않는 값을 매개변수로 전달하면 어떻게 될까?
find()에서는 -1을 리턴하는 반면, index()에서는 ValueError가 발생한다.
반응형