在 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