使用大于或小于运算符比较两个列表

我注意到最近直接比较了两个整数列表的一段代码:

a = [10,3,5, ...] b = [5,4,3, ...,] if a > b: ... 

这似乎list_a ,但我想如果list_a的所有元素都大于list_b ,那么它将返回True ,如果每个元素相等,或者list_b的元素大于list_alist_a 。 所以我testing了一下:

 >>> 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实际上在做什么? 看来,它返回的结果有利于第一个列表,其中最左边的元素大于相应的?

从Python教程比较序列和其他types :

比较使用词典sorting:首先比较前两个项目,如果它们不同则确定比较的结果; 如果它们相等,则比较下两项,等等,直到任何一个序列被耗尽为止。

另请参阅维基百科关于字典顺序的文章。