加载中...

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 异常,而不是提供一个随意的结果。


还没有评论.