Python で文字列を比較する
- Python で文字列を比較するためにリレーショナル演算子を使用する
-
Python で文字列を比較するには
is
演算子を使用する - Python で文字列を比較するためにユーザー定義のロジックを使用する
- Python で文字列を比較するために正規表現を使用する
このチュートリアルでは、Python で文字列を比較する方法を紹介します。
Python で文字列を比較するためにリレーショナル演算子を使用する
Python では、異なる値を比較するために関係演算子を使用します。文字列はこれらの演算子を使って比較することができます。文字列を比較するときは、Unicode の値を比較します。
以下のコードでは、リレーショナル演算子を使用して 2つの文字列を比較し、その結果を出力します。
str1 = "Mark"
str2 = "Jack"
print(str1 > str2)
print(str1 < str2)
print(str1 == str2)
print(str1 != str2)
print(str1 >= str2)
print(str1 <= str2)
出力:
True
False
False
True
True
False
Python での文字列比較は大文字と小文字を区別します。大文字小文字を区別しない方法で文字列比較を行いたい場合は、islower()
関数を使うことができます。
Python で文字列を比較するには is
演算子を使用する
Python では is
演算子を使って同一性の比較をチェックします。これは、2つの変数が同じメモリ位置にあれば、その同一性は同じとみなされ、比較の結果は True
であり、そうでなければ False
となります。is
演算子は ==
関係演算子とは異なります。例えば、
str1 = "Mark"
str2 = str1
str3 = "MARK"
print(str1 is str2)
print(str1 is str3)
出力:
True
False
Python で文字列を比較するためにユーザー定義のロジックを使用する
これらの組み込み演算子の他に、文字列を長さなどの他の要素で比較するためのユーザー定義関数を作成することができます。
次のコードでは、2つの文字列の長さを比較するユーザー定義関数を実装しています。
def check_len(s1, s2):
a = len(s1)
b = len(s2)
if a > b:
print(s1, " is Longer")
elif a == b:
print("Equal Length")
else:
print(s2, " is Longer")
str1 = "Mark"
str2 = "Jack"
check_len(str1, str2)
出力:
Equal Length
Python で文字列を比較するために正規表現を使用する
正規表現は Python で非常に多用されており、文字列がパターンと一致するかどうかをチェックするために使用することができます。
次の例では、正規表現を使って 2つの文字列とパターンを比較します。
import re
str1 = "Mark"
str2 = "Jack"
def check_pattern(s):
if re.match("Ma[a-z]+", s):
print("Pass")
else:
print("Fail")
check_pattern(str1)
check_pattern(str2)
出力:
True
False
上の re
パターンは、文字列が Ma
で始まり、他の文字が続くかどうかをチェックしています。これが Mark
が True を返し、ack
が False を返す理由です。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn