在 Python 中比較字串

Manav Narula 2023年1月30日 2021年2月28日
  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。

Author: 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