728x90
반응형
특정 문자열이 포함되어 있는 걸 확인해야 해서 찾아보았는데, in()과 find()를 많이 사용하는 것 같았다. 그러면 내가 사용하기에 적합한 함수는 무엇일까?
원하는 정보
SQL 문에서 'where' 이 있냐 없냐 만을 확인하면 된다. where의 위치는 확인할 필요가 없다. 그리고 속도가 빠르면 좋다.
예제
query = "SELECT * FROM TABLE_NAME WHERE DATE='20240101'"
#find
print(query.find("WHERE"))
#in
print("WHERE" in query)
위와 같은 SQL 문에서 WHERE을 찾아보고, 어떤 값을 반환하나 확인해 보았다.
- find()를 사용했을 때
- 출력 결과는 25이다. find() 를 사용할 경우 WHERE 의 첫 글자인 W가 있는 위치 인덱스를 출력하였다. 데이터 타입은 int이다.
- in()을 사용했을 때
- True를 출력하였다. 단순 유무를 따진다. 데이터 타입은 boolean이다.
즉, find()는 문자열의 앞에서부터 찾고자 하는 문자열이 있는지 확인하고 인덱스 값을 반환한다. in()은 단순히 찾고자 하는 문자열이 있는지 없는지만을 판단한다.
결론
문자열의 정확한 위치까지 필요없고, 단순히 있냐 없냐의 정보만 필요한 것이므로 나에게는 in()이 적합하다.
728x90
반응형
'Python' 카테고리의 다른 글
[AI/Python] 폐쇄망 (오프라인)에서 nllb-200-distilled-600M 모델 사용하기 (0) | 2025.04.17 |
---|---|
[python] 오프라인, 폐쇄망 환경에서 파이썬 패키지 수동 설치 방법 (pytest 설치) (0) | 2024.06.27 |
ImportError: Unable to import required dependencies: numpy (0) | 2024.06.13 |
[Python] 리스트 컴프리헨션 list comprehension (0) | 2024.06.04 |
[Python] inconsistent use of tabs and spaces in indentation 에러 (0) | 2024.03.28 |