Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2018 20:07:48

ann_beggin
Зарегистрирован: 2017-10-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите! сортировка словаря

Всем доброго времени суток! Помогите пожалуйста, как отсортировать словарь по значениям по убыванию и (если значения одинаковые), то по ключам по возрастанию (по алфавиту)
например

 names = {'Михаил':1010, 'Мария': 1010, 'Алексей':1200, 'Андрей':12} 
вывод:
 names = { 'Алексей':1200, 'Мария': 1010, 'Михаил':1010, 'Андрей':12}
Заранее спасибо!

Офлайн

#2 Март 29, 2018 20:35:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

помогите! сортировка словаря

Словарь невозможно отсортировать. список например можно.



Офлайн

#3 Март 29, 2018 20:47:02

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

помогите! сортировка словаря

ann_beggin
можешь отсортировать список значений словаря

 >>> names = {'Михаил':1010, 'Мария': 1010, 'Алексей':1200, 'Андрей':12}
>>> sorted(names.items(),key = lambda x: x[1],reverse=True)
[('Алексей', 1200), ('Михаил', 1010), ('Мария', 1010), ('Андрей', 12)]
>>> 

Отредактировано vic57 (Март 29, 2018 20:48:39)

Офлайн

#4 Март 29, 2018 21:58:37

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

помогите! сортировка словаря

Вообще словарь это неупорядоченная структура данных. Поэтому прямой ответ на ваш вопрос - никак.
Но если очень хочется, то можно воспользоваться похожей на словарь структурой OrderedDict в модуле collections , а вот как его заполнить корректно - нужно спроектировать и реализовать алгоритм.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version