Вы считаете количество событий по типу в словаре counts = {}. Приходит значение event_type. Какой код корректно увеличивает счётчик, даже если ключа ещё нет?

Acounts[event_type] += 1: прямое увеличение счётчика по ключу без проверки на наличие
Bcounts[event_type] = counts.get(event_type, 0) + 1: безопасный шаблон с дефолтом 0 при отсутствии ключа
Ccounts.get(event_type) += 1: попытка присвоить значение результату вызова .get()
Dcounts.items(event_type, 0) + 1: вызов items() с аргументами и инкремент пары значений
Правильный ответ. Шаблон d[k] = d.get(k, 0) + 1 безопасно работает, даже если ключа k ещё нет.

Разбор

Шаблон d[k] = d.get(k, 0) + 1 безопасен: метод .get(k, 0) вернёт текущее значение, а если ключа нет — вернёт 0, после чего можно прибавить 1 и записать в словарь. Прямой counts[event_type] += 1 упадёт с KeyError при первом появлении ключа. Конструкция counts.get(...) += 1 невалидна синтаксически: нельзя присваивать значение результату вызова. Метод .items() возвращает пары и не принимает аргументов.

Проверь себя · 1/3разбор после ответа
Есть список приоритетов tasks = ['low', 'medium']. Что произойдёт после вызова tasks.insert(0, 'urgent')?
Тренировать Python в Telegram

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