Как отсортировать список словарей python: легкое руководство с примерами и объяснениями для начинающих
Чтобы отсортировать список словарей в Python, можно использовать функцию sorted()
и передать в нее список словарей и ключ сортировки.
list_of_dicts = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
sorted_list = sorted(list_of_dicts, key=lambda x: x['age'])
print(sorted_list)
В этом примере список словарей list_of_dicts
сортируется по ключу "age". Результирующий отсортированный список сохраняется в переменной sorted_list
. Затем его можно вывести с помощью функции print()
.
Детальный ответ
Как отсортировать список словарей в Python?
Отсортировать список словарей в Python можно с помощью функции sorted() и параметра key, который принимает функцию, определяющую по какому ключу будет производиться сортировка.
Предположим, у нас есть список словарей с информацией о студентах:
students = [
{"name": "Алексей", "age": 20, "score": 95},
{"name": "Мария", "age": 19, "score": 85},
{"name": "Иван", "age": 21, "score": 90}
]
Чтобы отсортировать список словарей по ключу "score" в порядке возрастания, можно использовать следующий код:
sorted_students = sorted(students, key=lambda x: x['score'])
Результат будет следующим:
[
{"name": "Мария", "age": 19, "score": 85},
{"name": "Иван", "age": 21, "score": 90},
{"name": "Алексей", "age": 20, "score": 95}
]
Если нужна сортировка в порядке убывания, можно использовать параметр reverse=True:
sorted_students = sorted(students, key=lambda x: x['score'], reverse=True)
Результат будет следующим:
[
{"name": "Алексей", "age": 20, "score": 95},
{"name": "Иван", "age": 21, "score": 90},
{"name": "Мария", "age": 19, "score": 85}
]
Также возможна сортировка по другим ключам словаря. Например, чтобы отсортировать список студентов по возрасту:
sorted_students = sorted(students, key=lambda x: x['age'])
Результат будет следующим:
[
{"name": "Мария", "age": 19, "score": 85},
{"name": "Алексей", "age": 20, "score": 95},
{"name": "Иван", "age": 21, "score": 90}
]
Обратите внимание, что функция sorted() возвращает новый отсортированный список, не изменяя исходный список.
Заключение
Теперь вы знаете, как отсортировать список словарей в Python. С помощью функции sorted() и параметра key можно задать ключ сортировки и получить новый отсортированный список. Это может пригодиться при обработке данных, где каждый элемент представлен словарем.