在 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