Python Tutorial

Сортировка dict словаря Python по ключам

Сортировка dict словаря Python по ключам

Сортировка словаря по ключам
Используем функцию sorted()
Отсортируем словарь по ключам в порядке возрастания:
dict1 =  {
    19: 144,
    12: 100,
    15: 64,
    9: 121,
    18: 49,
    2000: 256,
    1: 105,
    13: 361,
    17: 289,
    7: 1
    }

dict1 = dict(sorted(dict1.items()))

for k, v in dict1.items():
    print(f'{k}:{v}')
Теперь в порядке убывания:
dict1 =  {
    19: 144,
    12: 100,
    15: 64,
    9: 121,
    18: 49,
    2000: 256, 
    1: 105,
    13: 361,
    17: 289,
    7: 1
    }


# по ключам в обратном порядке
sorted_dict1 = dict(sorted(dict1.items(), reverse=True)) 

for k, v in sorted_dict1.items():
    print(f'{k}:{v}')
Также работает для ключей типа str:
Отсортируем в алфавитном порядке:
dict1 = {
    'зажигалка': 30, 
    'компас': 200, 
    'фрукты': 600, 
    'термос': 1200, 
    'куртка': 700, 
    'удочка': 1400,
    'салфетки': 40, 
    'палатка': 5200, 
    'спальный мешок': 2100, 
    'жвачка': 10
    }

sorted_dict1 = dict(sorted(dict1.items()))

for k, v in sorted_dict1.items():
    print(f'{k}:{v}')
И наоборот:
dict1 = {
    'зажигалка': 30, 
    'компас': 200, 
    'фрукты': 600, 
    'термос': 1200, 
    'куртка': 700, 
    'удочка': 1400,
    'салфетки': 40, 
    'палатка': 5200, 
    'спальный мешок': 2100, 
    'жвачка': 10
    }

sorted_dict1 = dict(sorted(dict1.items(), reverse=True))

for k, v in sorted_dict1.items():
    print(f'{k}:{v}')
Словари