Нужно сгруппировать пользователей по городу: для каждого города хранить список user_id. Используется defaultdict из модуля collections. Какой аргумент передать при создании?

AПередать int — тогда при обращении к новому ключу создастся значение 0
BПередать str — тогда при обращении к новому ключу создастся пустая строка
CПередать set — тогда при обращении к новому ключу создастся пустое множество
DПередать list — тогда при обращении к новому ключу создастся пустой список
Правильный ответ. Для группировки элементов в списки передайте list как фабрику значений по умолчанию: defaultdict(list).

Разбор

defaultdict(list) при обращении к несуществующему ключу автоматически создаст пустой []. Это позволяет сразу писать groups[city].append(user_id) без предварительной проверки ключа. Аналогично defaultdict(int) создаёт 0 для счётчиков, а defaultdict(set) — пустое множество для уникальных значений.

Проверь себя · 1/3разбор после ответа
Есть список из 100 000 заблокированных user_id в переменной banned. Для каждого из миллиона событий нужно проверить, заблокирован ли пользователь. Как ускорить проверку?
Тренировать Python в Telegram

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