Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: defaultdict, dict

Как работает defaultdict и чем он отличается от обычного словаря?

Вопрос проверяет знание стандартной библиотеки и удобных инструментов для работы со словарями.

Короткий ответ

defaultdict автоматически создает значение по умолчанию при обращении к отсутствующему ключу. В обычном словаре обращение к несуществующему ключу вызывает KeyError. В defaultdict используется функция-фабрика, которая создает значение. Это удобно при подсчете или группировке данных.

Длинный ответ

Как работает defaultdict

Определение:
defaultdict — это словарь, который автоматически создает значение для отсутствующего ключа, используя функцию-фабрику.

Пример

from collections import defaultdict

counter = defaultdict(int)

counter["a"] += 1
print(counter)

Здесь int() возвращает 0, поэтому ключ создается автоматически.

Что такое функция-фабрика

Фабрика — это функция, которая вызывается при отсутствии ключа.

Примеры:

  • int → 0

  • list → []

  • set → set()

Отличие от обычного dict

Обычный dict:

d = {}
d["a"] += 1  # ошибка

Нужно писать:

d["a"] = d.get("a", 0) + 1

Где используется

  1. Подсчет частоты

  2. Группировка элементов

  3. Индексация

Пример группировки:

groups = defaultdict(list)

groups["admin"].append("user1")

Вывод

defaultdict уменьшает количество служебного кода и делает работу со словарями безопаснее и компактнее.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#defaultdict

#dict

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.