Python中比较字符串时的<和>符号代表什么意思?

3

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

x="absx"
o="abcdef"

如果我正在执行此操作,

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

那么在字符串中,'<'是做什么的,为什么它不返回true呢?它是如何比较x和o的?


2
字符串按照它们在常规字典中出现的顺序进行比较。在字典中,你的 o 字符串会排在你的 x 字符串之前,所以 o < x 是真的。请参阅字典序 - undefined
2个回答

4
< p >这句话的意思是:<>符号将导致两个字符串按字典顺序进行比较:< /p >
>>> x="absx"
>>> o="abcdef"
>>> x > o
True

字典序排序就是按照字典顺序排序,基本上,运算符会检查哪个字符串在字典顺序中更早(或更晚)。这种行为在Python 2和3中都是相同的。

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

>>> "a" < "aaaaa" 
True

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

所以它不依赖于字符串的大小。 - undefined
@Cedric 结果与字符串的大小无关,是的。 - undefined
' "absx"<"abcdef" ' 返回 false,而 ' "abcdef" > "absx" ' 也返回 false。 - undefined

0

字典排序。在你的情况下,o会排在x之后。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接