Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Сортировка словаря python

Эхман Ногиевич Ученик (149), на голосовании 1 месяц назад
У меня есть словарь следующего вида:

 dct=['вася':5,'петя':4,'иван':123,'андрей':1,'дима':0,'игорь':7, 'никита':4] 
Мне надо преобразовать его в 2 списка, в первом будут все значения по убыванию, во втором имена в порядке убывания их значений.
Вот так:
 lst1=[123,7,5,4,4,1,0]
lst2=['иван','игорь','вася','петя','никита','андрей','дима']
Как это реализовать на python?
Голосование за лучший ответ
Айран Просветленный (27161) 2 месяца назад
 lst2, lst1 = zip(*sorted(dct.items(), key=lambda x: x[1], reverse = True)) 
сначала сортируется по значению, получившийся список кортежей, с помощью zip делится на два списка (можно еще map(list, ...) чтобы именно списки были)
Похожие вопросы