Кортежи сравниваются по элементам за один раз, пока все элементы не будут сравнены или вы не получите ответ.
(1, 9) < (2, 3) // true
Это верно, потому что 1 < 2
.Нет необходимости идти дальше, так как проверка слева направо, как только вы обнаружите, что <
равно true
для одного элемента, это true
для всего кортежа.Это работает точно так же, как целые числа, где оба числа имеют одинаковое количество цифр;19 < 23
из-за десятизначной цифры.Нет необходимости смотреть на цифру.
Строки сравниваются в алфавитном порядке."apple" < "zebra"
потому что он идет первым по алфавиту (как если бы вы помещали список слов в алфавитном порядке).
(1, "zebra") < (2, "apple") // true
Это верно, потому что 1 < 2
.Мы остановились прежде, чем даже рассмотрели "zebra"
и "apple"
, потому что здесь они не имеют значения, сравнение уже удовлетворяет <
.
(3, "apple") < (3, "bird") // true
В этом случаемы сравниваем 3
и 3
, но они равны.На данный момент у нас недостаточно информации, чтобы решить, является ли первый кортеж <
вторым, поэтому мы переходим к следующему элементу.Начиная с "apple" < "bird"
, мы заключаем, что весь первый кортеж меньше второго.Это похоже на сравнение 30
и 31
.Вы смотрите на цифру десяти и видите, что они одинаковы, поэтому вы переходите к сравнению цифры.
(4, "dog") == (4, "dog") // true
При сравнении двух кортежей на равенство вы сравниваете элементы слева направо.,Вы можете выйти, как только обнаружите несоответствие, и решите, что ответ false
.Чтобы решить, что ответом является true
, вы должны сравнить все соответствующие элементы и найти, что они все совпадают.