Недавно я заметил часть кода, непосредственно сравнивающую два списка целых чисел:
a = [10,3,5, ...]
b = [5,4,3, ...,]
if a > b:
...
который казался немного странным, но я предположил, что он вернет True
, если все элементы list_a
больше, чем list_b
и False, если каждый элемент равен или list_b
больше элементов, чем list_a
" s. Поэтому я протестировал его:
>>> 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? Кажется, что он возвращает результат в пользу первого списка, в котором самый левый элемент больше, чем соответствующий?