int和元组之间的比较行为

时间:2019-01-15 23:32:06

标签: python python-2.x

由于某些原因

999 < (0, 6, 7, 8)

计算为True

实际上,所有元组似乎都大于所有整数。

根据docs

  

tuplelist的实例只能在每种类型中进行比较。

是否有有关此行为的文档?是否有隐式转换发生?

1 个答案:

答案 0 :(得分:2)

当您讨论将元组与其他类型进行比较时,根据您链接的文档:

  

这些类型之间的顺序比较给出了任意顺序。

因此,听起来这是Python 2中未定义的行为(如果我错了,请纠正我)。在Python 3中进行相同的比较会产生以下错误:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print(999 < (0, 6, 7, 8))
TypeError: '<' not supported between instances of 'int' and 'tuple'