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(), key=lambda x: x[1]))

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
    }

dict1 = dict(sorted(dict1.items(), 
            key=lambda x: x[1], reverse=True))

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

dict1 = dict(sorted(dict1.items(), key=lambda x: x[1]))

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

dict1 = dict(sorted(dict1.items(), 
            key=lambda x: x[1], reverse=True))

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

dict1 = dict(sorted(dict1.items(),
            key=lambda x: len(x[1])))

for k, v in dict1.items():
    print(f'{k}:{v}')
Ну а как отсортировать по уменьшению длины значения, вы, наверняка, уже догадались ))
ВИДЕО:
Словари