什么<

What does < or > mean in python while comparing strings

本问题已经有最佳答案,请猛点这里访问。

我已经用python 3.5编写了这段代码

1
2
x="absx"
o="abcdef"

如果我做这个手术,

1
2
x<o
False   #it return's False and i think it should return True

那么,在字符串的情况下,'<'在做什么?为什么它没有返回真值?如何比较x和o?


<>将导致两个字符串的词典比较:

1
2
3
4
>>> x="absx"
>>> o="abcdef"
>>> x > o
True

字典排序与字典排序相同,基本上,操作员正在检查哪个字符串在字典顺序中出现得更早(或更晚)。python 2和3的行为都相同。

最终结果不取决于字符串的大小,例如:

1
2
>>>"a" <"aaaaa"
True

在上面的例子中,当按字典顺序书写时,"a"将在"aaaaa"之前出现。要按字符串长度进行比较,请对字符串使用len()函数。


词典比较。在你的情况下,o会在x之后出现。