比较两个列表使用大于或小于运算符。
- 论坛
- 比较两个列表使用大于或小于运算符。
21 浏览
比较两个列表使用大于或小于运算符。
最近我注意到一段代码直接比较了两个整数列表,如下所示:
a = [10,3,5, ...] b = [5,4,3, ...,] if a > b: ...
这看起来有点奇怪,但我猜想如果list_a
的所有元素都大于list_b
的元素,则返回True
;如果每个元素相等或list_b
的元素大于list_a
的元素,则返回False
。所以我进行了测试:
>>> a=[3,3,3,3] >>> b=[4,4,4,4] >>> a>b False >>> b>a True
好像是这样的。同样适用于:
>>> b = [1,1,1,1] >>> a = [1,1,1,1] >>> a>b False >>> b>a False
但是当情况变得复杂一些时:
>>> a=[1,1,3,1] >>> b=[1,3,1,1] >>> a>b False >>> b>a True
或者:
>>> a=[1,3,1,1] >>> b=[1,1,3,3] >>> a>b True >>> b>a False
结果有点奇怪。Python到底在做什么?似乎它更倾向于返回第一个列表,其中最左边的元素大于对应位置的元素。