1 분 소요

공통점

S = 'banana'

# 문자 'a'가 첫번째 위치한 자리를 출력
print(S.index('a')) # 1
print(S.find('a')) # 1

# 문자열중 특정 인덱스부터 처음 'a'가 위치한 자리
print(S.index('a', 1)) # 1
print(S.index('a', 2)) # 3
print(S.find('a', 2)) # 3

# 문자열중 2번 인덱스부터 4번 인덱스 전!! 까지 처음 'a'가 위치한 자리
print(S.index('a', 2, 4)) # 3 (= 2, 3번 인덱스 중 a 위치)
print(S.find('a', 2, 4)) # 3
  • 변수. find(찾을 문자) / 변수. index(찾을 문자) 형태로 두 함수 모두 괄호() 안에 문자를 넣어 사용한다.
    • 변수에 위치한 문자열 중 괄호() 안에 넣은 특정 문자가 “처음” 위치한 자리의 값을 찾을 수 있다.
    • 문자열의 위치는 숫자로 출력되고 0부터 시작한다.
  • 시작점, 종료점을 지정할 수 있다.
    • 괄호 안에 (찾을 문자열, 시작점, 종료점) 순서로 입력할 수 있다.
    • 종료점 없이 시작점만 지정할 때는 (찾을 문자열, 시작점) 형태로 사용한다.
      • 즉, 문자열 뒤에 숫자가 1개이면 시작점, 숫자가 2개이면 시작점과 종료점을 나타낸다.
        (숫자가 1개인 경우 시작점을 나타내기 때문에 종료점만 지정하는 방법으로는 사용할 수 없다.)

차이점

S = 'banana'

# 찾고자 하는 원소가 없는 경우
print(S.index('k', 0, 3)) # AttributeError 에러
print(S.find('k', 0, 3)) # -1

find()

  • 찾는 문자가 없는 경우에 -1을 출력한다.
  • 문자열을 찾을 수 있는 변수는 문자열만 사용이 가능하다. 리스트, 튜플, 딕셔너리 자료형에서는 find 함수를 사용할 수 없다.
    만일 사용하게 되면 AttributeError 에러가 발생한다.

index()

  • 찾는 문자가 없는 경우에 ValueError 에러가 발생한다.
  • 문자열, 리스트, 튜플 자료형에서 사용 가능하고 딕셔너리 자료형에는 사용할 수 없어 AttributeError 에러가 발생한다.

ref.



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: