2015-01-08 92 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

比較操作按字典順序:首先將前兩個項目進行比較,如果不同,就確定比較的結果;如果它們相等,則比較下兩個項目,等等,直到任何一個序列被耗盡。