我正在使用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() 在这里不起作用,因为 'ç' 不是单个字节字符
对好友列表中的名字进行排序,对搜索结果进行排序,搜索最佳匹配项。比较字符串是最需要的操作之一。