Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

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

У меня есть словарь следующего вида:

1
 dct=['вася':5,'петя':4,'иван':123,'андрей':1,'дима':0,'игорь':7, 'никита':4] 

Мне надо преобразовать его в 2 списка, в первом будут все значения по убыванию, во втором имена в порядке убывания их значений.
Вот так:

12
 lst1=[123,7,5,4,4,1,0]
lst2=['иван','игорь','вася','петя','никита','андрей','дима'] 

Как это реализовать на python?

По дате
По рейтингу
Аватар пользователя
Просветленный
11мес
1
 lst2, lst1 = zip(*sorted(dct.items(), key=lambda x: x[1], reverse = True)) 

сначала сортируется по значению, получившийся список кортежей, с помощью zip делится на два списка (можно еще map(list, ...) чтобы именно списки были)