元组比较在Python中如何工作?

我一直在阅读核心Python编程书籍,作者展示了一个例子:

(4, 5) < (3, 5) # Equals false 

所以,我想知道,为什么它等于错误? python如何比较这两个元组?

顺便说一句,这不是在书中解释。

元组按位置比较:第一个元组的第一个元素与第二个元组的第一个元素进行比较; 如果不相等,这是比较的结果,否则第二项被考虑,然后是第三项等等。

请参阅文档 :

序列types也支持比较。 具体来说,元组和列表通过比较相应的元素按字典顺序进行比较。 这意味着为了比较相等,每个元素必须比较相等,并且两个序列必须是相同的types并且具有相同的长度。

另外这个 :

元组和列表按照字典顺序使用相应元素的比较进行比较。 这意味着为了比较相等,每个元素必须比较相等,并且两个序列必须是相同的types并且具有相同的长度。

如果不相等,序列的顺序与第一个不同的元素相同。 例如,cmp([1,2,x],[1,2,y])返回与cmp(x,y)相同的值。 如果相应的元素不存在,则认为较短的序列较小(例如,[1,2] <[1,2,3]返回True)。

请注意<>并不意味着“小于”和“大于”,而是“之前”和“之后”:所以(0,1)“在”(1,0)之前。

注2 :元组不能被认为是n维空间中的坐标!

注意3 :引用Python 2元组比较的问题 :不要以为元组比第二个元素“大于”,只要第一个元素大于第二个元素中的元素

Python文档没有解释它。

元组和列表按照字典顺序使用相应元素的比较进行比较。 这意味着为了比较相等,每个元素必须比较相等,并且两个序列必须是相同的types并且具有相同的长度。