在 Python 中比較字串

Manav Narula 2023年1月30日
  1. 在 Python 中使用關係運算子來比較字串
  2. 在 Python 中使用 is 操作符來比較字串
  3. 在 Python 中使用使用者定義的邏輯來比較字串
  4. 在 Python 中使用正規表示式來比較字串
在 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;否則就是 Falseis 運算子與 == 關係運算子不同,因為後者測試的是相等性。例如:

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 Narula
Manav Narula avatar Manav Narula avatar

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

相關文章 - Python String