본문으로 건너뛰기

Python - 문자열 비교하기

파이썬에서 두개의 문자열이 같은지 다른지 비교하는 방법에 대해서 알아보겠습니다.

1. == 또는 != 연산자로 비교

== 연산자는 두개의 문자열이 같을 때 True를 리턴합니다. 아래와 같이 두개의 문자열이 같은지, 다른지 비교할 수 있습니다.

str1 = "Hello"
str2 = "Hello"

if str1 == str2:
print("두 문자열은 동일합니다.")
else:
print("두 문자열은 동일하지 않습니다.")

실행 결과

두 문자열은 동일합니다.

!= 연산자는 두개의 문자열이 다를 때 True를 리턴합니다.

str1 = "Hello"
str2 = "World"

if str1 != str2:
print("두 문자열은 다릅니다.")
else:
print("두 문자열은 동일합니다.")

실행 결과

두 문자열은 다릅니다.

대소문자 구분 없이 비교

==, !=는 대소문자를 구분하여 비교합니다. 만약 대소문자 구분 없이 비교하고 싶을 때는 lower()를 사용하여 두개의 문자열을 모두 소문자로 변환하고 비교를 하면 됩니다.

str1 = "hello"
str2 = "Hello"

if str1.lower() == str2.lower():
print("두 문자열은 동일합니다.")
else:
print("두 문자열은 동일하지 않습니다.")

실행 결과

두 문자열은 동일합니다.

2. in, not in 키워드로 비교

in은 문자열이 다른 문자열에 포함되어있을 때 True를 리턴합니다.

  • str1이 str2에 포함되어있으므로 True가 리턴됨
str1 = "Hello"
str2 = "Hello, world"

if str1 in str2:
print("str1은 str2에 포함됩니다.")
else:
print("str1은 str2에 포함되지 않습니다.")

실행 결과

str1은 str2에 포함됩니다.

반대로, not in은 문자열이 다른 문자열에 포함되지 않았을 때 True를 리턴합니다.

str1 = "Hello"
str2 = "Hello, world"

if str1 not in str2:
print("str1은 str2에 포함되지 않습니다.")
else:
print("str1은 str2에 포함됩니다.")

실행 결과

str1은 str2에 포함됩니다.

3. startswith(), endswith()로 비교

str1.startswith(str2)는 문자열 str1이 문자열 str2로 시작할 때 True를 리턴합니다.

str1 = "Hello, world!"

if str1.startswith("Hello"):
print("str1은 'Hello'로 시작합니다.")
else:
print("str1은 'Hello'로 시작하지 않습니다.")

실행 결과

str1은 'Hello'로 시작합니다.

str1.endswith(str2)는 문자열 str1이 문자열 str2로 끝날 때 True를 리턴합니다.

str1 = "Hello, world!"

if str1.endswith("!"):
print("str1은 '!'로 끝납니다.")
else:
print("str1은 '!'로 끝나지 않습니다.")

실행 결과

str1은 '!'로 끝납니다.

4. 참고