我正在处理以下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更大
预期输出:两个元组都相等
请帮助我了解它如何生成此输出。在这里如何进行比较以及如何遵循词典方法?
答案 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 元组比较:只有当第一个元组的任何元素大于时,才认为元组比另一个元组“更大”相应的第二个