본문 바로가기

프로그래밍언어/Python

[Python] 문자열에서 문자 찾기(find()함수, index()함수,for문을 사용)

  • index() 함수 사용하여 찾기
  • find() 함수 사용하여 찾기
  • for루프를 사용하여 찾기

1. index() 함수 사용하여 찾기

>>> s = 'I like ice cream'
>>> a = 'i'
>>> print(s.index(a))
3

[문자열].index([찾고자하는 문자]) 의 형식으로 사용되고 찾고자 하는 문자의 인덱스 값을 리턴해주게 됩니다.

  • 대소문자 구분해줌
  • 찾고자하는 문자가 없으면 "ValueError: substring not found" 오류가 나옵니다. 

2. find() 함수 사용하여 찾기

 2 - 1. find() 함수

>>> s = 'I like ice cream'
>>> a = 'i'
>>> print(s.find(a))
3

index()함수와 같은 형식으로 사용되고 마찬가지로 찾고자 하는 문자의 인덱스 값을 리턴해주게 됩니다.

 2 - 3. rfind() 함수

>>> s = 'I like ice cream'
>>> a = 'i'
>>> print(s.rfind(a))
7

find()함수는 같은 값이 있을 경우 가장 작은 인덱스 값을 반환하는 반면 rfind()함수는 가장 큰 인덱스 값을 반환합니다.

  • find() 함수, rfind()함수 둘다 찾고자하는 문자가 없으면 -1을 반환합니다.

3. for문을 사용하여 찾기

>>> s = 'I like ice cream'
>>> a = 'i'
>>> list = []
>>> for idx,char in enumerate(s):
>>>     if(char == a):
>>>         list.append(idx)
>>> print(list)
[3, 7]

for 문을 사용하여 enumerate()함수를 통해 찾고자하는 문자의 인덱스 값을 따로 list에 저장하여 원하는 인덱스 값을 모두 찾을 수도 있습니다.