当前位置: 首页 > 面试题库 >

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

韩阳成
2023-03-14
问题内容

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

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

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

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


问题答案:

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

请参阅常见序列操作:

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

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

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

  • 为了使两个集合比较相等,它们必须具有相同的类型,具有相同的长度,并且每对对应的元素都必须比较相等(例如,[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])html" target="_blank">返回的结果与cmp(x,y)相同。如果相应的元素不存在,则较短的序列被视为较小的序列(例如[1,2] <[1,2,3]返回True)。

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



 类似资料:
  • 问题内容: 我有2个不同的元组类型(Double,Double): 我想使用一个简单的if语句比较它们​​的值。就像是: 这将引发以下错误: 找不到’==’的重载,该重载接受提供的参数 我当前的解决方案是这样的功能: 我已经尝试编写扩展,但是不能使其用于元组。您对此问题是否有更优雅的解决方案? 问题答案: 更新资料 正如Martin R 在评论中指出的那样,最多可以将具有六个组成部分的元组与进行比

  • 问题内容: 我想比较两个数组…理想地,有效地比较。没有什么幻想,只要它们是相同的,如果不相同。毫不奇怪,比较运算符似乎不起作用。 每个数组都可以使用JSON编码,但是有没有一种更快或更“更好”的方法来简单地比较数组而不必遍历每个值? 问题答案: 要比较数组,请遍历它们并比较每个值: 比较数组: 用法: 您可能会说“ 但是比较字符串要快得多-没有循环… ”,那么,您应该注意存在ARE循环。第一个递归

  • 问题内容: 我看到可以进行日期比较,也可以进行日期比较,但是我一直在努力寻找如何检查当前时间()是否早于指定时间(例如上午8点),还是晚于指定时间(例如上午8点),而不管日期如何。 问题答案: 您 无法 将特定时间点(例如“现在”)与一个固定的重复发生的事件(每天早上8点发生)进行比较。 您可以检查是否现在之前或之后, 今天 上午8点:

  • 问题内容: 在我当前的应用程序中,我需要能够执行这种类型的查询: 并给出以下数据的答案: 在实际的SQL中最有效的方法是什么?请记住,这是一个示例,我的实际应用程序中的表具有不同的列和数据类型以及数亿行。我使用MySQL,如果有帮助的话。您还可以假定这些列上具有PRIMARY或UNIQUE索引。 如果该解决方案很容易扩展到更多/更少的列,那就更好了。 元组比较: 有几个人问过,所以我应该把这个问题

  • 本文向大家介绍TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?相关面试题,主要包含被问及TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?时的应答技巧和注意事项,需要的朋友参考一下 考察点:Tree   TreeSet要求存放的对象所属的类必须实现Comparable接