在 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