python 元组比较语义 怪怪

Example

   1 ()<(1)
   2 (1)<(2)
   3 ()<(1,2)
   4 """result"""
   5 False
   6 True
   7 True

=== 怪怪===

1 对于空tuple (), 与含有一个元素的tuple比较,cmp( (), (a)), 结果为1,即 () > (a) 为真

2 对于空tuple (), 与含有2个或更多元素的tuple比较,cmp( (), (a,b)), 结果为-1,即 () < (a,b) 为真

3 对于非空含有不同数目元素tuple之间的比较, 比较的是元素个数

4 对于非空含有相同数目元素tuple之间的比较, 按照元素的字典序比较

第1条的语义与2,3,4不一致!,或者可以认为对空tuple ()特殊处理。

但是觉得 对于 < (or >)运算应该具有闭包关系:

这里: 取 a=(3), b = (), c= (2): 嘿嘿,a<b b<c

没看Python文档, 还不清楚如何定义的.