Курс Python → Defaultdict в Python

Defaultdict в Python отличается от обычного словаря тем, что позволяет нам указать значение по умолчанию для любого ключа, который отсутствует в словаре. В отличие от обычного словаря, где попытка обратиться к несуществующему ключу приведет к ошибке KeyError, defaultdict автоматически создаст элемент с указанным значением по умолчанию.

Для создания defaultdict необходимо импортировать его из модуля collections. Синтаксис использования defaultdict следующий: defaultdict(default_factory). Здесь default_factory — это функция, которая будет возвращать значение по умолчанию для отсутствующего ключа.

from collections import defaultdict

# Пример использования defaultdict
d = defaultdict(int)
print(d['key'])  # Выведет 0, так как int() возвращает 0 по умолчанию

При обращении к отсутствующему ключу defaultdict будет вызывать функцию default_factory и возвращать ее результат. Это позволяет избежать ошибок KeyError и упрощает работу с отсутствующими ключами в словаре. Например, если мы хотим подсчитать количество вхождений каждого элемента в списке, defaultdict будет очень полезен.

from collections import defaultdict

# Пример использования defaultdict для подсчета элементов в списке
lst = ['a', 'b', 'a', 'c', 'b', 'a']
d = defaultdict(int)
for item in lst:
    d[item] += 1

print(d)  # Выведет {'a': 3, 'b': 2, 'c': 1}

Таким образом, defaultdict является удобным инструментом для работы с словарями в Python, особенно когда необходимо обрабатывать отсутствующие ключи. Он позволяет избежать ошибок KeyError и упрощает написание кода, делая его более читаемым и эффективным.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Кортежи в Python: особенности и преимущества
  2. Измерение времени выполнения кода
  3. Декоратор для группы пользователей в Django
  4. Хэш-функции и метод цепочек
  5. Подробная информация о %pinfo
  6. Модуль xkcd: добавление юмора в Python
  7. Аргумент по умолчанию
  8. Наиболее частотные элементы с помощью Counter
  9. Метод сравнения объектов в Python
  10. Удаление ключа из словаря в Python
  11. Подсказки при вводе данных в Python
  12. Работа с типами данных в Python с помощью pydantic.
  13. Разделение строки на пары ключ-значение.
  14. Сортировка данных в Python
  15. Python Метод Union Множеств
  16. Python и Юникод: работа с цифрами
  17. Логирование с Loguru
  18. Разделение строки в Python
  19. Генерация тестовых данных с factory_boy
  20. Библиотека sh: удобные команды терминала
  21. Профилирование данных с Pandas
  22. Асинхронное программирование с asyncio
  23. Введение в PyTorch
  24. Вывод букв строки в Python
  25. Считывание бинарного файла в Python
  26. Работа с YAML в Python
  27. Открытие, чтение и закрытие файла
  28. Сортировка данных с лямбда-функциями
  29. Очистка данных с Pandas
  30. Очистка входных данных
  31. Измерение времени выполнения кода
  32. Ускоренный импорт библиотек
  33. Печать в одной строке
  34. Генераторы в Python
  35. Работа с модулем glob в Python
  36. Метод ne для сравнения объектов
  37. Обработка исключений в Python
  38. Бесконечная проверка в Python
  39. Работа с байтовыми строками в Python
  40. TypedDict для kwargs в Python 3.12
  41. Непрерывная проверка в Python
  42. Условное добавление элементов в список
  43. Ускорение обработки данных с %autoawait
  44. Повторение элементов списков
  45. Копирование объектов в Python
  46. Python union() функция — объединение множеств
  47. Преобразование в float

Marketello читают маркетологи из крутых компаний