为什么Python允许这些比较



我正在使用Python 3.4,想知道为什么Python允许这些代码;

>>> "a">"b"
False
>>> "a"<"b"
True
>>> 

我认为这可能是关于他们在 ASCII 中的顺序,但如果有人解释为什么 Python 允许这样的事情,我会很感激。奇怪的是,如果它是在Python 2x中,我可以理解,但是,它是Python 3x。 Python不应该抛出一个SyntaxError吗?

编辑:我尝试了非ASCII字符;

>>> "ç">"a"
True
>>> 

这不是关于ASCII的,那么我理解这一点,那么为什么Python允许这样做呢?

这是一个描述您的问题的链接

标准比较(<、<=、>、>=、==、!=)适用于字符串。这些比较使用 ASCII 或 Unicode 的标准逐字符比较规则。

编辑:

查看其他堆栈溢出帖子,并查找 ord() 函数

Python 使用的字符串比较技术

编辑!! ord() 在这里不起作用,因为 'ç' 不是单个字节字符

对好友列表中的名字进行排序,对搜索结果进行排序,搜索最佳匹配项。比较字符串是最需要的操作之一。

相关内容

  • 没有找到相关文章

最新更新