почему возвращает не самое минимальное?
dict1 = {'ссылка1': '4.50', 'ссылка2': '6.00', 'ссылка3': '19.60', 'ссылка4': '17.40'}
print(min(dict1, key=dict1.get))
выводит: ссылка4
почему так, если минимальное значение у ключа 'ссылка1' и как это исправить?
Ответы (1 шт):
Автор решения: E1mir
→ Ссылка
Сортировка в данном случае проходит верно, так как значения в словаре являются строками, а не числами и всё сортируется по алфавиту..
Ну а чтобы получить реально минимальное значение, сперва нужно все значения в словаре конвертировать в число:
d = {
'ссылка1': '4.50',
'ссылка2': '6.00',
'ссылка3': '19.60',
'ссылка4': '17.40'
}
# Конвертируем значения в число
converted_to_num = dict((k, float(v)) for k, v in d.items())
# получаем минимальное значение
print(min(converted_to_num, key=converted_to_num.get))