Сортировка 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}')
Ну а как отсортировать по уменьшению длины значения, вы, наверняка, уже догадались ))
ВИДЕО: