比较两个不相等的元组并找出更大和更小的元组
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" 仅当第一个的任何元素大于第二个中的相应元素时才比另一个
我正在编写以下 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" 仅当第一个的任何元素大于第二个中的相应元素时才比另一个