안녕하세요. BlockDMask 입니다.
오늘은 파이썬의 find 함수에 대해서 알아보겠습니다.
<목차>
1. 파이썬 find 함수
2. 파이썬 find 함수 예제
1. 파이썬 문자열 find 함수에 대해서
string.find(찾을 문자)
string.find(찾을 문자, 시작 Index)
string.find(찾을 문자, 시작 Index, 끝 Index)
find 함수 첫번째 인자
- 찾을 문자열 혹은 찾을 문자
find 함수 두번째 인자 (생략가능)
- 문자를 찾을때 어디서 부터 찾을지 시작 index. 생략시 0
find 함수 세번째인자 (생략가능)
- 문자를 찾을때 어디 까지 찾을지 끝 index, 생략시 문자열 맨 마지막 index
find 메서드는 "찾을 문자" 혹은 "찾을 문자열"이 존재하는지 확인하고,
찾는 문자가 존재 한다면 해당 위치의 index를 반환해주고
찾는 문자가 존재 하지 않는다면 -1 을 반환합니다.
만약에 찾는 문자나 문자열이 여러개 있다면 맨 처음 찾은 문자의 index를 반환하게 됩니다.
2. 문자열 find 함수 예제
str= "BlockDMask Blog.";
print(f"str : {str}\n")
# find 예제1
print("1. str.find('찾을 문자')")
result1 = str.find('a') # 문자가 있는 경우
result2 = str.find('Z') # 문자가 없는 경우
print(f"str.find('a') : {result1}")
print(f"str.find('Z') : {result2}")
result3 = str.find('ask') # 문자열이 있는 경우
result4 = str.find('kkk') # 문자열이 없는 경우
print(f"str.find('ask') : {result3}")
print(f"str.find('kkk') : {result4}")
print()
# find 예제2
print("2. str.find('찾을 문자', 시작index)")
result5 = str.find('o')
result6 = str.find('o', 5)
print(f"str.find('o') : {result5}")
print(f"str[5] : {str[5]}")
print(f"str.find('o', 5) : {result6}")
print()
# find 예제3
print("3. str.find('찾을 문자', 시작 index, 끝 index)")
result7 = str.find('o')
result8 = str.find('o', 5, 11) # "DMask B"
print(f"str.find('o') : {result7}")
print(f"str[5]~str[11] : {str[5]} ~ {str[11]}")
print(f"str.find('o', 5, 11) : {result8}")
1번째 테스트 - str.find('찾을 문자')
str.find('a')는 "BlockDMask Blog" 라는 문자열에서 a라는 것의 위치가 index : 7 이기 때문에 7이 반환된것을 볼 수 있습니다.
str.find('Z')는 "BlockDMask Blog"에서 존재하지 않는 문자이기 때문에 -1 이 반환 되었습니다.
str.find('ask')는 "BlockDMask Blog" 문자열에 존재하므로 "ask"의 맨 첫번째 index인 a가 있는 위치의 index 인 7을 반환 한 것을 볼 수 있습니다.
str.find('kkk') 해당 문자열이 없으므로 -1을 반환하였습니다.
2번째 테스트 - str.find('찾을 문자', 시작 index)
str.find('o')는 "BlockDMask Blog" 문자열에서 'o'는 두개가 존재하는데 첫번째 o의 위치인 2를 반환하는 것을 볼 수 있습니다.
str.find('o', 5) 를 통해서 서치할 시작 index의 위치를 수정해주면 "BlockDMask Blog" 해당 문자열의 index 5의 위치인 "D" 부터 서치를 하기 때문에 전체 문자열 기준으로 두번째 'o'의 위치인 13이 나오는 것을 볼 수 있습니다.
3번째 테스트 - str.find('찾을 문자', 시작 index, 끝 index)
str.find('o', 5, 11) 을 보면 "BlockDMask Blog"문자열에서 str[5]~str[11]에 해당하는 문자들은 "DMask B" 이기 때문에 해당 문자열 내부에는 find 할 'o'가 존재하지 않습니다.
그렇기 때문에 해당 함수의 결과는 -1이 나오게 됩니다.
파이썬 문자열의 더 다양한 함수가 궁금하다면 [바로가기] 포스팅에 있습니다.
이렇게 오늘은 파이썬 문자열의 find 함수에 대해서 알아보았습니다.
감사합니다.
'<개인공부> > [Python]' 카테고리의 다른 글
[python] 파이썬 얕은복사, 깊은복사 (copy, deepcopy, [:], =) 총 정리 (12) | 2021.10.18 |
---|---|
[python] 파이썬 mutable, immutable 객체에 관해서 (7) | 2021.10.15 |
[python] 파이썬 issubclass 클래스 포함관계 (0) | 2021.10.14 |
[python] 파이썬 sleep 함수 사용법 (일시정지) (0) | 2021.10.08 |
[python] 파이썬 공백 제거 (replace, strip) 2가지 방법 (0) | 2021.10.05 |
[python] 파이썬 딕셔너리 정렬 (0) | 2021.09.15 |
[python] 파이썬 전역변수, 지역변수 정리 (0) | 2021.09.13 |
[python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순) (1) | 2021.09.11 |