Используйте sorted(d.items(), key=lambda pair: pair[1]): результатом будет список пар, упорядоченных по значению. Если нужен словарь в таком порядке обхода, оберните результат в dict().
Как отсортировать словарь по значениям?
Используйте sorted(d.items(), key=lambda pair: pair[1]): результатом будет список пар, упорядоченных по значению. Если нужен словарь в таком порядке обхода, оберните результат в dict().
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте sorted(d.items(), key=lambda pair: pair[1]): результатом будет список пар, упорядоченных по значению. Если нужен словарь в таком порядке обхода, оберните результат в dict().
Пример:
d = {'a': 3, 'b': 1, 'c': 2}
pairs = sorted(d.items(), key=lambda item: item[1])
ordered = dict(pairs)
Для обратного порядка добавьте reverse=True. Равные значения сохраняют исходный порядок благодаря стабильной сортировке; для явного второго критерия верните кортеж из key. Значения должны быть сравнимы. Полученный dict сохраняет порядок вставки в современных Python, но не пересортировывается автоматически после изменения значений.