@afydoz
Вчерашний школьник.

Что сравнивается при сравнении массива с числом?

Есть массив x = [2, 3, 4, 6]

>>> x > 1
True

>>> x < 1
False


Сначала я думал, что сравниваются 2 ненулевых элемента (True > True), но тогда результат в обеих случаях был бы False
Буду благодарен, если объясните, как это работает?
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
@javedimka
Хочу сока
В питоне это называется списком, лучше уточнять.

А ответом на твой вопрос является версия Python, когда ты в Python 2 сравниваешь два не одинаковых типа данных, то они сравниваются лексикографически(так это называется?), когда два названия типа сравниваются по алфавиту, т.е. тип списка это "list", тип целого числа это "int", сравнивается первая буква каждого слова, в английском алфавите буква L идет после i, т.е. порядковый номер буквы L(12) в алфавите больше, чем порядковый номер i(9), поэтому получается, что list > int (12>9), поэтому в Python 2 список больше числа с типом int (или float, decimal, по аналогии, но при этом числовые типы int, float, decimal можно успешно сравнивать между собой.)

В Python 3 получишь ошибку:
>>> x = [2, 3, 4, 6]
>>> x > 1
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    x > 1
TypeError: unorderable types: list() > int()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 75 000 до 90 000 руб.
от 100 000 до 150 000 руб.
Alytics Москва
от 120 000 до 130 000 руб.
16 нояб. 2019, в 03:20
400000 руб./за проект
16 нояб. 2019, в 00:24
3500 руб./за проект
15 нояб. 2019, в 19:23
6000 руб./за проект