5.8. 比较序列和其它类型
序列对象可以与相同类型的其它对象比较。比较操作按 字典序 进行:首先比较前两个元素,如果不同,就决定了比较的结果;如果相同,就比较后两个元素,依此类推,直到所有序列都完成比较。如果两个元素本身就是同样类 型的序列,就递归字典序比较。如果两个序列的所有子项都相等,就认为序列相等。如果一个序列是另一个序列的初始子序列,较短的一个序列就小于另一个。字符 串的字典序按照单字符的 ASCII 顺序。下面是同类型序列之间比较的一些例子:
(1, 2, 3) (1, 2, 4)
[1, 2, 3] [1, 2, 4]
'ABC' 'C' 'Pascal' 'Python'
(1, 2, 3, 4) (1, 2, 4)
(1, 2) (1, 2, -1)
(1, 2, 3) == (1.0, 2.0, 3.0)
(1, 2, ('aa', 'ab')) (1, 2, ('abc', 'a'), 4)
需要注意的是如果通过 或者 > 比较的对象只要具有合适的比较方法就是合法的。比如,混合数值类型是通过它们的数值就行比较的,所以 0 是等于 0.0 。否则解释器将会触发一个 TypeError 异常,而不是提供一个随意的结果。