元组比较在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并且具有相同的长度。