如果你比较两个字符串,那就有问题了:
>>> "1111">'19'
False
>>> "1111"<'19'
True
为什么'1111'小于'19'?
答案 0 :(得分:10)
因为比较字符串lexicographically。 '1'
小于'9'
(在字符集中较早出现)。在此之后还有其他角色并不重要。
如果您想比较数字,您必须先将字符串转换为数字:
>>> int('1111') > int('19')
True
否则,这与您比较字典单词完全相同; Aaaa
小于Ab
答案 1 :(得分:2)
因为比较字符串lexicographically。
首先比较第一个字符,在这种情况下是'1'
和'1'
- 因为它们是相同的,所以它们会移动到下一个字符。
在下一个字符中,'1'
小于'9'
,因此'1111'
小于'19'
。
答案 2 :(得分:0)
使用type()
检查令牌的类型:
type("1111")
输出:
str
这是一个字符串。因此,它将按字典顺序进行比较。