Python列表中<与>比较运算符的工作原理及疑问解析
Python列表的<、>比较逻辑
Python里列表使用<、>这类比较运算符时,遵循逐元素顺序比较的规则,核心逻辑是:从第一个元素开始逐一对比,只要找到第一对不相等的元素,就直接用这对元素的比较结果作为整个列表的比较结果,后面的元素不会再参与判断。
结合你的例子具体说明:
- 第一个场景:
>>> a = [1, 2, 3] >>> b = [3, 4, 5]
对比第一个元素1和3,因为1 < 3,所以直接得出a < b为True,a > b为False,后面的2和4、3和5不会再进行比较。
- 你疑惑的第二个场景:
>>> a = [1, 2, 3] >>> b = [3, 0, 0]
同样先对比第一个元素1和3,1 < 3的结果直接决定了整个列表的比较结果,所以不管b后面的元素0比a的2、3小多少,都不会再参与判断,最终a < b为True,a > b为False。
额外补充一种情况:如果两个列表前面的元素全部相等,才会继续对比下一个元素;若其中一个列表是另一个的前缀(比如[1,2]和[1,2,3]),则长度更短的列表被认为更小,即[1,2] < [1,2,3]返回True。
内容的提问来源于stack exchange,提问作者s.paszko
相关产品推荐
相关产品推荐

