一尘不染

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

python

我一直在阅读Core Python编程书,作者展示了一个类似的示例:

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

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

顺便说一句,这本书没有解释。


阅读 416

收藏
2020-02-17

共1个答案

一尘不染

比较元组的位置:将第一元组的第一项与第二元组的第一项进行比较;如果它们不相等(即第一个大于或小于第二个),则这是比较的结果,否则将考虑第二个,然后是第三个,依此类推。

请参阅常见序列操作:

相同类型的序列也支持比较。特别是,通过比较相应的元素按字典顺序比较了元组和列表。这意味着要比较相等,每个元素必须比较相等,并且两个序列必须是相同类型且长度相同。

还可以进行值比较以获取更多详细信息:

内置集合之间的词典比较如下:

  • 为了使两个集合比较相等,它们必须具有相同的类型,具有相同的长度,并且每对对应的元素都必须比较相等(例如,[1,2] == (1,2)由于类型不同,因此为false)。
  • 支持顺序比较的集合的排序与其第一个不相等元素相同(例如,[1,2,x] <= [1,2,y]具有与相同的值x <= y)。如果不存在相应的元素,则将对较短的集合进行排序(例如,[1,2] < [1,2,3]为true)。
    如果不相等,则序列与它们的第一个不同元素的排序相同。例如,cmp([1,2,x],[1,2,y])返回的结果与cmp(x,y)相同。如果相应的元素不存在,则较短的序列被视为较小的序列(例如[1,2] <[1,2,3]返回True)。

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

2020-02-17