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