Словарь Python. Вывод ключа по значению, но есть повторяющиеся значения

Есть словарь, состоящий из пар вида [слово : приоритет в строке]. Слова требуется расставить в порядке приоритета в словаре. Проблема в том, что я не могу придумать, как извлекать слово по его приоритету. Можно было бы реверсировать словарь и извлекать элементы по ключу, но тогда теряются слова с одинаковым приоритетом, например, [таким : 0.6, нашей : 0.6]. Словарь для отладки использую следующий:

[таким : 0.6, образом : 0.571, постоянное : 0.5,
обеспечение : 0.45, нашей : 0.6, деятельности : 0.5]

Если возможно сортировать словарь по значению, т.е. в данном случае по приоритету, это будет довольно хорошим решением, но пока мне не удалось реализовать такую сортировку.

.


Ответы (2 шт):

Автор решения: ClickName

Можно использовать сортировку по ключу

d = {
    'word': 0.6,
    'end': 0.5,
    'second': 0.6,
    'cat': 0.7
}

l = list(d.items())
l.sort(key=lambda x: x[1])
print(l)
→ Ссылка
Автор решения: Vladimir Chistov

Попробуйте так:

sorted(dic, key=lambda x: dic[x])

Этот пример сортирует по возрастанию, если вам нужно наоборот то так:

sorted(dic, key=lambda x: dic[x], reverse=True)

(dic - это ваш словарь)

→ Ссылка