比较两个不相等的元组,发现哪个更大或更小

时间:2018-10-18 11:25:54

标签: python tuples comparison-operators

我正在处理以下python代码,并且输出不符合我的期望。我正在使用字典法比较相应的值,以找出哪个元组更大,我认为用于元组比较,并且我不认为根据元组官方文档在比较期间比较元组的长度。

a=(5,5,12,6)
b=(5,5,12)
if (a>b):
    print("a is greater")
elif (a==b):
    print("both the tuples are equal")
else:
    print("b is greater")

从程序获得的输出: a更大

预期输出两个元组都相等

请帮助我了解它如何生成此输出。在这里如何进行比较以及如何遵循词典方法?

1 个答案:

答案 0 :(得分:0)

按位置比较图元组:将第一个元组的第一项与第二个元组的第一项进行比较;如果它们不相等,则为比较的结果,否则考虑第二项,然后考虑第三项,依此类推。

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

注1:<>并不意味着“ 小于”和“ 大于” ”,但“ 先于”和“ 先于”:所以(0,1)先于(1,0)

注释2:不能将元组视为n维空间中的坐标! [也就是说(x, y)(x1, y1)不是xOy笛卡尔计划中的点] ...嗯,这是一个没用的注释...

注释3:指的是问题 Python 2 元组比较:只有当第一个元组的任何元素大于时,才认为元组比另一个元组“更大”相应的第二个