Python字符串比较完全指南:5种高效方法与实例解析

介绍

您可以使用Python中的相等(==)和比较(<、>、!=、<=、>=)运算符来比较字符串。没有特殊的方法来比较两个字符串。在本文中,您将学习到在比较字符串时每个运算符的工作原理。

Python字符串比较会逐个比较两个字符串中的字符。当发现不同的字符时,会比较它们的Unicode编码点值。具有较低Unicode值的字符被认为较小。

Python 相等性和比较运算符

声明字符串变量。

fruit1 = 'Apple'

下表显示了使用不同操作符对相同字符串进行比较(苹果与苹果)的结果。

运算符 代码 输出
相等 print(fruit1 == 'Apple') True
不等于 print(fruit1 != 'Apple') False
小于 print(fruit1 < 'Apple') False
大于 print(fruit1 > 'Apple') False
小于或等于 print(fruit1 <= 'Apple') True
大于或等于 print(fruit1 >= 'Apple') True

这两个字符串完全相同。换句话说,它们是相等的。等号运算符和其他等于运算符都返回True。

如果你比较不同值的字符串,则会得到完全相反的结果。

如果你比较包含相同子字符串的字符串,例如苹果(Apple)和苹果派(ApplePie),则较长的字符串被认为更大。

使用运算符比较用户输入以评估相等性

这个示例代码接受并比较用户输入。然后,程序根据比较结果打印有关输入字符串字母顺序的额外信息。在这种情况下,程序假设较小的字符串在较大的字符串之前。

fruit1 = input('请输入第一个水果的名称:\n')
fruit2 = input('请输入第二个水果的名称:\n')

if fruit1 < fruit2:
    print(fruit1 + " 在字典中位于 " + fruit2 + " 之前。")
elif fruit1 > fruit2:
    print(fruit1 + " 在字典中位于 " + fruit2 + " 之后。")
else:
    print(fruit1 + " 和 " + fruit2 + " 是相同的。")

当您输入不同的值时,这是生成的潜在输出的一个示例。

输出
请输入第一个水果的名称:
Apple
请输入第二个水果的名称:
Banana
Apple 在字典中位于 Banana 之前。

当你输入相同的字符串时,这是一个可能的输出示例。

输出
请输入第一个水果的名称:
Orange
请输入第二个水果的名称:
Orange
Orange 和 Orange 是相同的。

注意

注意:为了使这个例子正常工作,用户需要输入的两个字符串的首字母要么全部大写,要么全部小写。例如,如果用户输入字符串”apple”和”Banana”,那么输出将是”apple在字典中位于Banana之后”,这是不正确的。
这种差异是因为大写字母的Unicode码点值始终小于小写字母的Unicode码点值:a的值是97,B的值是66。你可以通过使用ord()函数打印字符的Unicode码点值来自行测试这一点。

结论

在这篇文章中,你学到了如何使用Python的等式(==)和比较(<、>、!=、<=、>=)运算符来比较字符串。继续学习关于Python字符串的内容。

bannerAds