Найти - Пользователи
Полная версия: помогите! сортировка словаря
Начало » Python для новичков » помогите! сортировка словаря
1
ann_beggin
Всем доброго времени суток! Помогите пожалуйста, как отсортировать словарь по значениям по убыванию и (если значения одинаковые), то по ключам по возрастанию (по алфавиту)
например
 names = {'Михаил':1010, 'Мария': 1010, 'Алексей':1200, 'Андрей':12} 
вывод:
 names = { 'Алексей':1200, 'Мария': 1010, 'Михаил':1010, 'Андрей':12}
Заранее спасибо!
doza_and
Словарь невозможно отсортировать. список например можно.
vic57
ann_beggin
можешь отсортировать список значений словаря
 >>> names = {'Михаил':1010, 'Мария': 1010, 'Алексей':1200, 'Андрей':12}
>>> sorted(names.items(),key = lambda x: x[1],reverse=True)
[('Алексей', 1200), ('Михаил', 1010), ('Мария', 1010), ('Андрей', 12)]
>>> 
JOHN_16
Вообще словарь это неупорядоченная структура данных. Поэтому прямой ответ на ваш вопрос - никак.
Но если очень хочется, то можно воспользоваться похожей на словарь структурой OrderedDict в модуле collections , а вот как его заполнить корректно - нужно спроектировать и реализовать алгоритм.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB