2012-02-16 194 views
1

可能重複:
How does Python compare string and int?蟒數據類型比較

任何一個可以解釋below.how是的 'a' 相對於1 內部是一個和1 ASCII val爲比較或如何是 即,有一些轉換髮生與'一',然後比較或如何是這樣。請解釋

>>> 'a' > 1 
True 
>>> 'a' > 'b' 
False 
+3

似乎是重複的:http://stackoverflow.com/questions/3270680/how-does-python-compare-string-and-int – WeaselFox 2012-02-16 10:04:46

回答

1

不同類型lexigraphically比較,並且 「INT」 是< 「串」。

在python 3.x中,它改變了這個,所以不同的類型不能比較。

布爾<詮釋:

In [15]: True > 5 
Out[15]: False 

名單>詮釋:

In [14]: [1, 2] > 5 
Out[14]: True 

元組>列表:

In [16]: (1, 2) > [1, 2] 
Out[16]: True 

併爲您的示例: 海峽>詮釋:

In [17]: '1' > 5 
Out[17]: True 

等等等等。

0

從手動:

CPython的實現細節:除了 號碼不同類型的目標由它們的類型名稱排序;不支持正確比較的相同類型的對象 按其地址排序。

所以 「STR」 是大於 「INT」