Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 문자열에 특정 문자가 포함되어 있는지 확인하는 방법

파이썬에서 주어진 문자가 문자열 안에 존재하는지 확인하고 싶다면 in 연산자를 사용하면 됩니다. 가장 간단하고 직관적인 방법으로, 결과는 불리언(Boolean) 값인 True 또는 False로 반환됩니다.

in 연산자로 단일 문자 확인하기

>>> s = "Hello world"
>>> 'e' in s
True

위 예제에서 문자열 s 안에 문자 'e'가 포함되어 있으므로 True가 출력됩니다.

여러 문자를 검색할 때는 집합(set)과 any() 활용

검색하려는 문자가 하나가 아니라 여러 개라면 집합(set)을 사용하는 것이 효율적입니다. 찾고자 하는 문자들을 집합에 담은 뒤, any() 함수를 사용하면 문자열에 해당 문자 중 하나라도 존재하는지 확인할 수 있습니다.

chars = set('0123456789$,')
s = "I have 9 cats"

if any((c in chars) for c in s):
    print('Found')
else:
    print('Not Found')

실행 결과:

Found

문자열 "I have 9 cats"에는 숫자 '9'가 포함되어 있고, 이는 집합 chars에 속해 있으므로 any()True를 반환합니다.

참고: 과거 파이썬 2에서 사용되던 from sets import Set 모듈은 폐기(deprecated)되었으며, 파이썬 3에서는 내장 타입인 set()을 바로 사용하는 것이 표준입니다.

모든 문자가 포함되어 있는지 확인하기

반대로 검색 대상 문자들이 문자열에 모두 존재하는지 확인하려면 any() 대신 all() 함수를 사용하면 됩니다.

chars = set('0123456789$,')
s = "I have 9 cats"

if all((c in chars) for c in s):
    print('Found')
else:
    print('Not Found')

실행 결과:

Not Found

이번에는 문자열의 모든 문자(예: 'I', 공백, 'c', 'a' 등)가 집합 chars에 속하지 않기 때문에 all()False를 반환하여 Not Found가 출력됩니다.

정리

  • 단일 문자 확인: in 연산자 사용
  • 여러 문자 중 하나라도 포함: set + any() 조합
  • 여러 문자 모두 포함: set + all() 조합

이 세 가지 방법만 기억하면 파이썬에서 문자열 검색 관련 작업을 대부분 손쉽게 처리할 수 있습니다.