比较两个不相等的元组并找出更大和更小的元组

comparing two unequal tuples and finding which is greater and smaller

我正在编写以下 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更大

预期输出: 两个元组相等

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

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

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

注1: <>并不意味着“小于”和“大于”但是“早于”和“晚于”:so ( 0, 1) "早于" (1, 0).

注2:元组不能被视为n维space中的坐标! [即 (x, y)(x1, y1) 不是 xOy 笛卡尔平面中的点]...嗯,这是一个毫无用处的注释...

注3:参考问题Python 2元组比较:不要认为一个元组是"greater" 仅当第一个的任何元素大于第二个中的相应元素时才比另一个