Есть список словарей: ``python users = [ {'name': 'Анна', 'age': 30}, {'name': 'Борис', 'age': 25} ] `` Как отсортировать его по возрасту?

Asorted(users, key='age'): передать имя ключа строкой
Busers.sort(key='age', reverse=False): имя ключа строкой
Cusers.sort_by('age', ascending=True): метод списка словарей
Dsorted(users, key=lambda u: u['age']): функция извлечения ключа
Правильный ответ. Параметр key в sorted() принимает функцию, которая извлекает значение для сортировки из каждого элемента.

Разбор

Вызов sorted(users, key=lambda u: u['age']) создаст новый список, отсортированный по значению ключа 'age'. Функция lambda u: u['age'] вызывается для каждого элемента и возвращает число, по которому идёт сортировка. Передать строку 'age' напрямую нельзя — key ожидает вызываемый объект. Альтернатива лямбде — operator.itemgetter('age') из стандартной библиотеки.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

Ещё вопросы по теме «Коллекции и структуры данных»