Python 使用n?这是按字母顺序排序的,就像你会在电话簿中找到的那样,如果它们仍然存在的话。您可能会看到它们是这样订购的: Pap Pb Pbn Pn

Python 使用n?这是按字母顺序排序的,就像你会在电话簿中找到的那样,如果它们仍然存在的话。您可能会看到它们是这样订购的: Pap Pb Pbn Pn,python,Python,我是python的新手,正在努力学习基础知识。我发现python解释器有一种奇怪的行为: >>> 'Pp' < 'Pn' False # --> expected p comes after n >>> 'Pap' < 'Pbn' True # --> though a < b, p is not < n. How can this result as True? 有人能解释一下吗?为什么你希望它会

我是python的新手,正在努力学习基础知识。我发现python解释器有一种奇怪的行为:

>>> 'Pp' < 'Pn' 
False      # --> expected p comes after n
>>> 'Pap' < 'Pbn'
True       # --> though a < b, p is not < n. How can this result as True?

有人能解释一下吗?

为什么你希望它会关心b>n?这是按字母顺序排序的,就像你会在电话簿中找到的那样,如果它们仍然存在的话。您可能会看到它们是这样订购的:

Pap
Pb
Pbn
Pn
这确实是Python返回的结果。

来自:

比较使用字典顺序:首先比较前两项,如果它们不同,则决定比较的结果;如果它们相等,则对下两个项目进行比较,依此类推,直到其中一个序列用尽。

'Pp'如果条件满足,它将返回True并中断。如果不满意,它将执行相同的操作,直到字符串结束

它是按字母顺序排列的。按字典顺序排列http://en.wikipedia.org/wiki/Lexicographical_order