@andrey13879

Как работает метод max() для списка из списков?

Добрый день, есть список:
green = [['0.01775', '274903'], ['0.0177', '2767608'], ['0.01765', '1966445'], ['0.0176', '698199'], ['0.01755', '2853585'], ['0.0175', '944079'], ['0.01745', '2813977'], ['0.0174', '336701'], ['0.01735', '2118072'], ['0.0173', '975570']]
['0.0173', '975570']

нужно найти максимальное значение второго элемента среди списков
пробовал вот такой код:print(max(green, key=lambda x:x[1]))
должен выдать ['0.01755', '2853585'] а выдает ['0.0173', '975570']
Помогите, пожалуйста!
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
gedev
@gedev
сисадмин-энтузиаст
Посмотрите на свой список, у вас там строки, а не числа. С числами всё работает так как вы ожидаете. А вот строки в Python сравниваются иначе — по их ASCII/Unicode кодам.
>>> green = [[0.01775, 274903], [0.0177, 2767608], [0.01765, 1966445], [0.0176, 698199], [0.01755, 2853585], [0.0175, 944079], [0.01745, 2813977], [0.0174, 336701], [0.01735, 2118072], [0.0173, 975570]]
>>> max(green, key=lambda x: x[1])
[0.01755, 2853585]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы