繁体   English   中英

为什么 'aa' < 'z' 在 Python 中的计算结果为 True?

[英]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' 如果两个单词由多次重复的相同字符组成,则最短的单词将排在第一位。 其余的,这只是字母表的顺序。

它们按字典顺序排列。 按字母顺序排列,长度作为决胜局。 就像在字典中一样, aaa之前,在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM