Python使用的字符串比较技术

我想知道Python如何进行字符串比较,更具体地说,当使用小于(<)或大于(>)符号时如何确定结果。

例如,如果我把print(‘abc’<'bac')我成真。我理解它比较字符串中的相应字符,但是它不清楚为什么有更多,由于缺乏一个更好的术语,“权重”放在事实上a小于b(第一个位置)在第一个字符串,而不是在第二字符串(第二位置)中a小于b的事实。

docs

The comparison uses lexicographical
ordering: first the first two items
are compared, and if they differ this
determines the outcome of the
comparison; if they are equal, the
next two items are compared, and so
on, until either sequence is
exhausted.

也:

Lexicographical ordering for strings
uses the ASCII ordering for individual
characters.

举个例子:

>>> 'abc' > 'bac'
False
>>> ord('a'), ord('b')
(97, 98)

一旦发现a小于b,则返回结果False。其他项目未进行比较(您可以看到第二个项目:b> a为True)。

http://stackoverflow.com/questions/4806911/string-comparison-technique-used-by-python

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python使用的字符串比较技术