[英]Why does 'aa' < 'z' evaluate to True in Python?
我正在使用 Python 进行字符串比较。 为什么'aa' < 'z'
评估为 True。 此外,为什么'aa' < 'a'
评估为 False。 我试着解释 'aa' 的长度比 'a' 长,所以它会更大。 但是这种推理不适用于初始情况 'aa' < 'z'
'aa' < 'z' => True
'aa' < 'a' => False
字符串比较使用字典顺序。 简单来说,就是单词在字典中出现的顺序。 您的示例如下所示:
a
aa
z
显然'a' < 'aa'
是True
以及'aa' < 'z'
。 如果两个单词由多次重复的相同字符组成,则最短的单词将排在第一位。 其余的,这只是字母表的顺序。
它们按字典顺序排列。 按字母顺序排列,长度作为决胜局。 就像在字典中一样, a
在aa
之前,在z
之前。
我想,你可以帮助函数 ord() 理解它。 https://www.programiz.com/python-programming/methods/built-in/ord
如果看到您的示例 'aa' < 'a' => False 来自 'aa' 的第一个符号有一个整数表示 Unicode 字符97和结果97 < 97 => False 。 如果我们接下来看到您的示例 'aa' < 'z' => True。 Python 只看到像这样的第一个符号'a' < 'z' == 97 < 122 => True 。
我希望我能帮助你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.