Сортировка отсортированного словаря
У меня есть словарь отсортированный по значениям
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}