1
>>> 20130708 < ''
True
>>> 20130708 > ''
False

我不确定对此的解释是什么。 wikipedia article on lexicographical ordering

u < v 如果 u 是 v 的前缀

由于“”是“20130708”的前缀,我希望“20130708”<“”为假。

4

2 回答 2

10

您的问题标题与您的代码不匹配。您不是在"20130708"与比较"",而是在20130708""- 即整数和空字符串进行比较。

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

于 2013-07-22T22:56:01.093 回答
1

您在这里缺少引号:

>>> "20130708" < ""
False

你正在做的是比较intsstr这是丰富的比较。所以 anyint比 any 更“小” str

于 2013-07-22T22:57:48.183 回答