Python int和tuple之间的比较行为
出于某种原因Python int和tuple之间的比较行为,python,python-2.x,Python,Python 2.x,出于某种原因 999 < (0, 6, 7, 8) 999
999 < (0, 6, 7, 8)
999<(0,6,7,8)
计算结果为True
事实上,所有元组似乎都大于所有整数
据报道,
元组
或列表
的实例只能在每种类型内进行比较
有关于这种行为的文件吗?是否发生了隐式转换?根据您链接的文档,在讨论元组与其他类型的比较时: 通过对这些类型进行排序比较,可以得出任意顺序 因此,在Python2中似乎没有定义这种行为(如果我错了,请纠正我)。在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'
回溯(最近一次呼叫最后一次):
文件“main.py”,第1行,在
打印(999<(0,6,7,8))
TypeError:'不确定您是如何运行的,因为这会产生一个TypeError
请从Python2升级到python 3No casting,它(不合逻辑地)偏离了2.7中类型名称的词汇顺序。我们在Python3中消除了这一点。