Нужно сгруппировать пользователей по городу: для каждого города хранить список user_id. Используется defaultdict из модуля collections. Какой аргумент передать при создании?
AПередать
list: при первом обращении к новому ключу автоматически создаётся пустой список [] для добавленияBПередать
int: при обращении к новому ключу создаётся значение 0, удобное для работы с числовыми счётчикамиCПередать
str: при обращении к новому ключу создаётся пустая строка, удобная для пошаговой конкатенации текстаDПередать
set: при обращении к новому ключу создаётся пустое множество для накопления уникальных значенийПравильный ответ. Для группировки элементов в списки передайте
list как фабрику значений по умолчанию: defaultdict(list).Разбор
defaultdict(list) при обращении к несуществующему ключу автоматически создаст пустой []. Это позволяет сразу писать groups[city].append(user_id) без предварительной проверки ключа. Аналогично defaultdict(int) создаёт 0 для счётчиков, defaultdict(set) — пустое множество, а defaultdict(str) — пустую строку.
Проверь себя · 1/3разбор после ответа
Нужно хранить соответствие
user_id → число покупок и обновлять счётчик при каждой покупке. Какая коллекция Python подходит лучше всего?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `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]`?
- Все вопросы по «Коллекции и структуры данных» →