Ключи словаря являются ссылками на определенные записи в словаре.
Функция для генерации списка ключей словаря в порядке значений записей словаря:
def sorted_keys(d):
return sorted(d.keys(), key=lambda k: d[k])
так, чтобы получить доступ к наименьшей цене в вашем примере:
ks = sorted_keys(d)
smallest = d[ ks[0] ]
Проблема в том, что вы должны пересчитать ваш заказ при любой вставке, изменении или удалении словаря. Их было бы трудно перехватить, поэтому лучше сохранять контроль и пересчитывать порядок именно тогда, когда вы хотите его использовать.
Вы можете похоронить все это в class SortedDict(dict)
, который переопределяет функцию get словаря.