Сортировка отсортированного словаря

У меня есть словарь отсортированный по значениям

d = {'o': 5, 'n': 5, 't': 4, 'e': 3, 'm': 2, 'r': 2, 'g': 2, 'i': 2}

Теперь я хочу, чтобы те части, которые имеют одинаковое значение сортировались по ключам в алфавитном порядке. То есть, чтобы была сортировка и по ключам и по значениям при том, что сортировка по значениям имеет более высокий приоритет.

Контекст задачи в том, чтобы найти количество вхождений именно буквы в нижнем регистре латинского алфавита в строку и вывести именно таким образом отсортированный словарь. Код пишется на python 3.7+


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

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

В принципе, словарь изначально может быть вообще не отсортированным.

d = {'o': 5, 'n': 5, 't': 4, 'e': 3, 'm': 2, 'r': 2, 'g': 2, 'i': 2}
result = dict(sorted(d.items(), key=lambda x: (-x[1],x[0])))
{'n': 5, 'o': 5, 't': 4, 'e': 3, 'g': 2, 'i': 2, 'm': 2, 'r': 2}
→ Ссылка