Я получил TypeError: '<' не поддерживается между экземплярами 'str' и 'int' - PullRequest
0 голосов
/ 04 декабря 2018

В python при печати минимального значения в списке с помощью функции min() выдает ошибку, когда я пробую это в spyder Ide.Но когда я запускаю тот же код в pycharm, он работает хорошо.Что я должен сделать, чтобы он печатался на шпионе Ide?

Это мой код

lst = [101,754,'abcd','xyz','m']
Printing("Minimum value in List:", min(lst))

Это выдает ошибку:

TypeError: '<' not supported between instances of 'str' and 'int'

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Скорее всего, в вашей системе IDE spyder по умолчанию установлен Python 3, а в вашем проекте PyCharm - Python 2.

В Python 3 порядок между экземплярами str и int не определен и создает исключение,В Python 2 IIRC возвращает True или False на основе адресов (id()) двух объектов.

0 голосов
/ 04 декабря 2018

Поскольку некоторые элементы списка являются строками, он не может найти минимальное число в списке, так как функция min () пытается также сравнить числа со строкой.

Попробуйте это:

List = [101,754,'abcd','xyz','m']
numList = list(filter(lambda x: type(x)!=str, List)) # Creates a new list with only numbers
print("Minimum value in List:", min(numList))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...