Подтвердить что ты не робот

Список Python больше числа

Я обнаружил, что список больше числа.

>>> [1,2,3] > 1000
True

Есть ли причина, почему это работает? Я не могу преобразовать список в int с помощью int([1,2,3]). Int не может быть преобразован в список с помощью list(1000). Итак, как python сравнивает два?

4b9b3361

Ответ 1

В этом случае типов "несоответствия" типы перечислены лексикографически по типу имени: "список" появляется после "int" в алфавитном порядке, поэтому он больше.

Подробности реализации CPython: объекты разных типов, кроме номера упорядочены по их именам типов; объекты того же типа которые не поддерживают надлежащее сравнение, упорядочиваются по их адресу. (источник)

Отсутствует спецификация языка для заказа (кроме того, что он согласован). Просто случается, что CPython является наиболее распространенной реализацией, в которой есть эта языковая деталь, которая упорядочивается лексикографически по именам типов.

Ответ 2

В соответствии с Справочным руководством по Python,

Большинство других объектов встроенных типов сравниваются неравномерно, если они не являются одним и тем же объектом; выбор того, считается ли один объект меньшим или большим, чем другой, делается произвольно, но последовательно в пределах одного выполнения программы.