본문 바로가기
성장하기/Python

[함수] 문자열의 index 와 find

by 솔로 슈퍼스타 2023. 6. 17.
728x90

index()와 find()는 Python 문자열에서 특정 문자열 또는 문자의 인덱스(위치)를 찾는 데 사용되는 메서드입니다. 주요한 차이점은 다음과 같습니다:

1. 반환값:

  • index(): 찾는 문자열 또는 문자가 문자열 내에서 발견되면 해당 인덱스를 반환합니다. 만약 찾는 문자열 또는 문자가 발견되지 않으면 ValueError 예외가 발생합니다.
  • find(): 찾는 문자열 또는 문자가 문자열 내에서 발견되면 해당 인덱스를 반환합니다. 만약 찾는 문자열 또는 문자가 발견되지 않으면 -1을 반환합니다.

2. 예외 처리:

  • index(): 찾는 문자열 또는 문자가 발견되지 않으면 ValueError 예외가 발생합니다. 따라서, index()를 사용할 때는 예외 처리를 수행하는 것이 좋습니다.
  • find(): 찾는 문자열 또는 문자가 발견되지 않으면 -1을 반환하기 때문에 예외 처리가 필요하지 않습니다.

3. 사용 가능한 자료형:

  • index(), find() 모두 문자열 객체에서 사용 가능합니다. 즉, 문자열 내에서 다른 문자열 또는 문자의 인덱스를 찾을 수 있습니다.

다음은 index()와 find() 메서드의 간단한 예제입니다:

 

text = "Hello, World!"

index1 = text.index("o")
print(index1)  # 4

index2 = text.find("o")
print(index2)  # 4

index3 = text.index("z")  # ValueError: substring not found

index4 = text.find("z")
print(index4)  # -1

위의 코드에서 index1과 index2는 문자열 text에서 첫 번째로 나타나는 "o"의 인덱스를 반환합니다. index3는 "z"가 text 안에 존재하지 않기 때문에 ValueError를 발생시킵니다. index4는 "z"가 text 안에 존재하지 않기 때문에 -1을 반환합니다.

따라서, index()와 find() 메서드는 문자열에서 특정 문자열 또는 문자의 위치를 찾는 데 사용되며, 예외 처리의 유무와 반환값의 차이가 주요한 차이점입니다.

'성장하기 > Python' 카테고리의 다른 글

[함수] strip, rstrip, lstrip  (0) 2023.06.18
알파벳 상수  (0) 2023.06.18
[함수] divmod  (0) 2023.06.17
[함수] dictionary 의 get  (0) 2023.06.17
[함수] comb  (0) 2023.06.17