Comparando dos listas usando el operador mayor que o menor que

Noté una pieza de código recientemente comparando directamente dos listas de enteros como:

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

Lo que parecía un poco peculiar, pero me imaginé que volveríaTrue si todo delist_alos elementos son mas grandes quelist_by Falso si cada elemento es igual olist_blos elementos son mas grandes quelist_a's. Así que lo probé:

>>> a=[3,3,3,3]
>>> b=[4,4,4,4]
>>> a>b
False
>>> b>a
True

Ok eso funciona Al igual que:

>>> b = [1,1,1,1]
>>> a = [1,1,1,1]
>>> a>b
False
>>> b>a
False

pero cuando se vuelve más borroso

>>> a=[1,1,3,1]
>>> b=[1,3,1,1]
>>> a>b
False
>>> b>a
True

o:

>>> a=[1,3,1,1]
>>> b=[1,1,3,3]
>>> a>b
True
>>> b>a
False

Los resultados son un poco extraños. ¿Qué está haciendo realmente python? Parece que está devolviendo el resultado a favor de la primera lista en la que el elemento más a la izquierda es mayor que el correspondiente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta