在 Python 中比較字串
本教程將介紹如何在 Python 中比較字串。
在 Python 中使用關係運算子來比較字串
在 Python 中,關係運算子被用來比較不同的值。字串可以使用這些運算子進行比較。當我們比較字串時,我們比較它們的 Unicode 值。
在下面的程式碼中,我們將使用關係運算子比較兩個字串並列印它們的結果。
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
操作符來比較字串
is
運算子用於檢查 Python 中的身份比較。這意味著如果兩個變數具有相同的記憶體位置,那麼它們的身份就被認為是相同的,它們比較的結果是 True
;否則就是 False
。is
運算子與 ==
關係運算子不同,因為後者測試的是相等性。例如:
str1 = 'Mark'
str2 = str1
str3 = 'MARK'
print(str1 is str2)
print(str1 is str3)
輸出:
True
False
在 Python 中使用使用者定義的邏輯來比較字串
除了這些內建的運算子,我們還可以建立使用者自定義的函式來比較字串的其他因素,比如長度等。
在下面的程式碼中,我們實現了一個使用者自定義的函式來比較兩個字串的長度。
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 中使用的非常多,可以用來檢查一個字串是否與模式匹配。
在下面的例子中,我們將使用正規表示式比較兩個字串和一個模式。
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