Python Sort Dict | Сортировка словарей в Python
В Python существует несколько способов сортировки словарей. Рассмотрим несколько примеров.
1. С помощью встроенной функции sorted():
python
my_dict = {'banana': 3, 'apple': 2, 'orange': 4}
# Сортировка словаря по ключам
sorted_dict_keys = sorted(my_dict)
# Сортировка словаря по значениям
sorted_dict_values = sorted(my_dict, key=my_dict.get)
# Сортировка словаря по значениям в обратном порядке
sorted_dict_values_reverse = sorted(my_dict, key=my_dict.get, reverse=True)
print(sorted_dict_keys) # ['apple', 'banana', 'orange']
print(sorted_dict_values) # ['apple', 'banana', 'orange']
print(sorted_dict_values_reverse) # ['orange', 'banana', 'apple']
2. С использованием функции sorted() и метода items():
python
my_dict = {'banana': 3, 'apple': 2, 'orange': 4}
# Сортировка словаря по парам ключ-значение (по ключу)
sorted_dict_items = sorted(my_dict.items())
# Сортировка словаря по парам ключ-значение (по значению)
sorted_dict_items_values = sorted(my_dict.items(), key=lambda x: x[1])
# Сортировка словаря по парам ключ-значение (по значению) в обратном порядке
sorted_dict_items_values_reverse = sorted(my_dict.items(), key=lambda x: x[1], reverse=True)
print(sorted_dict_items) # [('apple', 2), ('banana', 3), ('orange', 4)]
print(sorted_dict_items_values) # [('apple', 2), ('banana', 3), ('orange', 4)]
print(sorted_dict_items_values_reverse) # [('orange', 4), ('banana', 3), ('apple', 2)]
3. С использованием модуля operator:
python
import operator
my_dict = {'banana': 3, 'apple': 2, 'orange': 4}
# Сортировка словаря по ключам
sorted_dict_keys = sorted(my_dict.items(), key=operator.itemgetter(0))
# Сортировка словаря по значениям
sorted_dict_values = sorted(my_dict.items(), key=operator.itemgetter(1))
# Сортировка словаря по значениям в обратном порядке
sorted_dict_values_reverse = sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)
print(sorted_dict_keys) # [('apple', 2), ('banana', 3), ('orange', 4)]
print(sorted_dict_values) # [('apple', 2), ('banana', 3), ('orange', 4)]
print(sorted_dict_values_reverse) # [('orange', 4), ('banana', 3), ('apple', 2)]
Таким образом, в Python сортировка словарей может быть выполнена с помощью функции sorted(), метода items() и модуля operator с использованием лямбда-функций. Во всех случаях сортируется список пар ключ-значение словаря.