Дан список пар pairs = [('views', 5), ('clicks', 6), ('purchases', 9)]. Что вернёт выражение {k: v for k, v in pairs}?
AСловарь
{'views': 5, 'clicks': 6, 'purchases': 9} с тремя ключамиBСписок кортежей
[('views', 5), ('clicks', 6), ('purchases', 9)]CМножество пар
{('views', 5), ('clicks', 6), ('purchases', 9)}DИсключение
SyntaxError, потому что dict не поддерживает генераторыПравильный ответ. Dict comprehension
{k: v for ...} создаёт словарь из пар ключ-значение.Разбор
Выражение {k: v for k, v in pairs} — это генератор словаря. Он перебирает пары и строит dict с ключами и значениями. Похожий синтаксис {x for x in lst} без двоеточия создаёт множество, а [x for x in lst] — список. Наличие двоеточия : между ключом и значением отличает dict comprehension от set comprehension.
Проверь себя · 1/3разбор после ответа
Есть список из 100 000 заблокированных
user_id в переменной 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]`?
- Все вопросы по «Коллекции и структуры данных» →