为什么20130708 <"在Python中返回true?

And*_*ham 1 python string

>>> 20130708 < ''
True
>>> 20130708 > ''
False
Run Code Online (Sandbox Code Playgroud)

我不确定这是什么解释. 关于词典排序的维基百科文章说明了这一点

u <v如果你是v的前缀

由于""是"20130708"的前缀,我希望"20130708"<""是假的.

Dan*_*man 10

您的问题标题与您的代码不符.你不是比较"20130708""",你就比较20130708""即一个整数,用一个空字符串- .

Python 2的一个特点是整数总是比字符串少.在Python 3中,这是固定的,并且代码会提升TypeError: unorderable types: int() < str().