2015-01-08 44 views
-5

我是python的新手,并且正在尝试学习基础知识。我发现一个奇怪的行为与蟒蛇解释器:比较python中的字符串和<comparision运算符

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

有人请解释?

+0

这是字母顺序。 – Squidly

+0

在辞典'http:// en.wikipedia.org/wiki/Lexicographical_order' –

回答

4

为什么你会期望它关心b> n?这是字母排序,就像您在电话簿中找到的那样(如果这些仍然存在)。你会期望看到他们这样的命令:

Pap 
Pb 
Pbn 
Pn 

而且这确实是Python返回。

1

docs

比较操作按字典顺序:首先将前两个项目进行比较,如果不同,就确定比较的结果;如果它们相等,则比较下两个项目,等等,直到任何一个序列被耗尽。