Сортировка словаря по значению, а затем ключ
Я могу отсортировать по ключу или значению, но мне нужно, чтобы он был отсортирован по значению, а затем по ключу в одну строку. Чтобы объяснить это лучше, я могу показать вам мою проблему:
dict = {'apple': 2, 'banana': 3, 'almond':2 , 'beetroot': 3, 'peach': 4}
Я хочу, чтобы мой вывод сортировался по убыванию по значению, а затем по возрастанию (A-Z) по ключу (в алфавитном порядке). В результате получается такой список:
С выходом:['peach', 'banana', 'beetroot', 'almond', 'apple']
Пока я знаю, как это сделать:
[v[0] for v in sorted(dict.items(), key=lambda(k,v): (v,k))]
С выходом:['almond', 'apple', 'banana', 'beetroot', 'peach']
Таким образом, он отсортировал значения в порядке возрастания и ключи в алфавитном порядке в порядке возрастания (A-Z). Так что если я переверну это:
[v[0] for v in sorted(dict.items(), key=lambda(k,v): (v,k), reverse=True)]
С выходом:['peach', 'beetroot', 'banana', 'apple', 'almond']
Он отсортировал значения по убыванию и ключи в алфавитном порядке по убыванию (Z-A).
Есть ли способ, которым я могу отсортировать значения в порядке убывания и ключи в порядке возрастания (то есть A-Z) и получить вывод, который я показал выше?