Есть список словарей:
``python
users = [
{'name': 'Анна', 'age': 30},
{'name': 'Борис', 'age': 25}
]
``
Как отсортировать его по возрасту?
A
sorted(users, key='age'): передать имя ключа строкойB
users.sort(key='age', reverse=False): имя ключа строкойC
users.sort_by('age', ascending=True): метод списка словарейD
sorted(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') из стандартной библиотеки.
Проверь себя · 1/3разбор после ответа
Есть
list из 100 000 заблокированных идентификаторов пользователя в переменной banned. Для каждого из миллиона событий нужно проверить, заблокирован ли пользователь. Как ускорить проверку?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `events = ["click"]`. Объект `events` используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из `new_events = ["view", "purchase"]`, чтобы итог был плоским. Какой вариант корректен?
- Дан словарь `d = {"country": "RU"}`. Нужно прочитать значение по ключу `"city"`, а если ключа нет — вернуть строку `"unknown"` без исключения. Что подходит?
- В логах есть список `user_ids` с повторениями. Как получить количество уникальных пользователей?
- Что произойдёт при выполнении кода `t = (1, 2); t[0] = 9`?
- Дан список `nums = [10, 20, 30, 40]`. Чему равен результат выражения `nums[1:3]`?
- Все вопросы по «Коллекции и структуры данных» →