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_a
los elementos son mas grandes quelist_b
y Falso si cada elemento es igual olist_b
los 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?