수학과의 좌충우돌 프로그래밍

문자열 함수 find와 index 본문

프로그래밍 언어/Python

문자열 함수 find와 index

ssung.k 2018. 12. 30. 23:58


안녕하세요 강민성입니다.


파이썬 알고리즘을 공부하다가 헷갈린 부분이 있어


가볍게 포스팅을 하고자 합니다.



find와 index를 알아보자!


문자열에서 find와 index는 거의 같은 역할을 합니다.


바로 문자열에서 원하는 문자나 문자열이 어디 있는지를 알려주는 것이죠.


위치를 반환할 때는 index 값을 반환하게 됩니다.


1
2
3
4
= "ssungkang"
 
print (a.index("k")) # 5
print (a.find("k"))  # 5
cs


다음과 같이 문자열 a에서 k를 찾고자 한다면


그에 해당하는 index 값을 return 하게 되는 것이죠.


그렇다면 둘의 차이는 무엇일까요?


차이 역시 간단합니다.


find 같은 경우에는 찾는 문자나 문자열이 없을 경우에는 -1 을 return 하게 됩니다.


1
2
3
= "ssungkang"
 
print(a.find("b")) # -1
cs


하지만 index 같은 경우에는 없을 경우에 오류를 발생 시키게 됩니다. 


1
2
3
4
5
= "ssungkang"
 
print (a.index("b")) 
 
# ValueError: substring not found
cs


다음과 같이 b라는 substring을 찾을 수 없다는 ValueError가 발생하게 됩니다.




마무리



그 동안 자주 써왔던 함수들인데도 불구하고 그 차이를 최근에서야 알게 되어


포스팅을 해보았습니다.


함수를 사용할 때 그 용도와 쓰임을 명확하게 알고 쓰시길 바랍니다.


오늘도 감사합니다 :)

Comments