Vergleichen von zwei Listen mit dem Operator "größer als" oder "kleiner als"

Ich habe kürzlich einen Code entdeckt, der zwei Listen mit ganzen Zahlen direkt miteinander vergleicht:

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

Das schien ein bisschen eigenartig, aber ich stellte mir vor, dass es zurückkehren würdeTrue wenn alle vonlist_aDie Elemente sind dann größerlist_b's und False, wenn jedes Element gleich oderlist_bDie Elemente sind dann größerlist_a's. Also habe ich es getestet:

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

Ok das klappt Ebenso wie:

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

aber wenn es unschärfer wird:

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

oder:

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

Die Ergebnisse sind etwas seltsam. Was macht Python eigentlich? Es scheint, dass es das Ergebnis zugunsten der ersten Liste zurückgibt, in der das am weitesten links stehende Element größer ist als das entsprechende?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage