擅长:python、mysql、java
<p>元组的比较从左开始逐元素进行,直到可以比较不相等的值为止。就是</p>
<pre><code>(a, b, c) > (x, y, z)
</code></pre>
<p>相当于(带有一些多余的括号)</p>
<pre><code>(a > x) if (a != x) else ((b > y) if (b != y) else (c > z))
</code></pre>
<p>或者以声明的形式</p>
<pre><code># result = (a, b, c) > (x, y, z)
if a != x:
result = a > x
elif b != y:
result = b > y
else:
result = c > z
</code></pre>
<p>在您的示例中,比较<code>a > x</code>和<code>b > y</code>有效,但<code>c > z</code>无效,因为只能对相同类型的值进行排序。因为只有在必要时才会进行比较,所以只有在<code>a == x</code>和<code>b == y</code>时才会出现错误</p>