>>> 20130708 < ''
True
>>> 20130708 > ''
False
我不確定這是什麼解釋。 The wikipedia article on lexicographical ordering說爲什麼20130708 <「」在Python中返回true?
ü< v如果ü爲v
的前綴,因爲 「」 是的前綴 「20130708」,我希望 「20130708」 < 「」 是假的。
>>> 20130708 < ''
True
>>> 20130708 > ''
False
我不確定這是什麼解釋。 The wikipedia article on lexicographical ordering說爲什麼20130708 <「」在Python中返回true?
ü< v如果ü爲v
的前綴,因爲 「」 是的前綴 「20130708」,我希望 「20130708」 < 「」 是假的。
您的問題標題與您的代碼不符。您沒有比較"20130708"
與""
,您正在比較20130708
與""
- 即一個整數,並帶有一個空字符串。
這是Python 2的一個特點,即整數始終比字符串少。在Python 3中,這是固定的,並且該代碼提高了TypeError: unorderable types: int() < str()
。
哇,是的,這是一個愚蠢的問題。我應該在星期天開始睡覺,星期二早上醒來。 –
「豐富的比較」並不是指比較不同類型的對象;這意味着使用了幾種新的比較方法('__lt __()','__ge __()'等)而不是舊的單一方法'__cmp __()'。 – kindall
對不起大家這是StackOverflow上最糟糕的問題 –