Porównywanie dwóch list za pomocą operatora większa niż lub mniejsza niż operator

Niedawno zauważyłem fragment kodu bezpośrednio porównujący dwie listy liczb całkowitych w ten sposób:

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

co wydawało się nieco dziwne, ale wyobrażałem sobie, że wróciTrue jeśli wszystkolist_aelementy są większelist_b's i Fałsz, jeśli każdy element jest równy lublist_belementy są większelist_ajest. Przetestowałem to:

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

Ok, to działa. Podobnie jak:

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

ale kiedy staje się bardziej rozmyta:

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

lub:

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

wyniki są nieco dziwniejsze. Co właściwie robi Python? Wydaje się, że zwraca wynik na korzyść pierwszej listy, w której lewy najbardziej element jest większy niż odpowiadający?

questionAnswers(2)

yourAnswerToTheQuestion