Сортировка словаря
В Python словари (начиная с версии 3.7) сохраняют порядок добавления элементов, но для сортировки словарей по ключам или значениям можно использовать несколько подходов.
1. Сортировка по ключам
Использование функции
sorted()
Вы можете использовать функцию
sorted()
для получения отсортированного списка ключей, а затем создать новый словарь:
my_dict = {'b': 2, 'a': 1, 'c': 3}
# Сортировка по ключам
sorted_dict_by_keys = {key: my_dict[key] for key in sorted(my_dict)}
print(sorted_dict_by_keys) # Вывод: {'a': 1, 'b': 2, 'c': 3}
2. Сортировка по значениям
Использование функции
sorted()
Для сортировки по значениям
my_dict = {'b': 2, 'a': 1, 'c': 3}
# Сортировка по значениям
sorted_dict_by_values = {key: value for key, value in sorted(my_dict.items(), key=lambda item: item[1])}
print(sorted_dict_by_values) # Вывод: {'a': 1, 'b': 2, 'c': 3}
3. Сортировка с использованием lambda
и key
Вы можете использовать
lambda
для более сложных критериев сортировки:
my_dict = {'b': 2, 'a': 1, 'c': 3, 'd': 2}
# Сортировка по значениям, а затем по ключам
sorted_dict = {key: value for key, value in sorted(my_dict.items(), key=lambda item: (item[1], item[0]))}
print(sorted_dict) # Вывод: {'a': 1, 'b': 2, 'd': 2, 'c': 3}