파이썬에서 두개의 문자열이 같은지 다른지 비교하는 방법에 대해서 알아보겠습니다.
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은 '!'로 끝납니다.