Курс 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. Транспонирование матрицы
  2. Переворот списка в Python
  3. Работа с пакетами
  4. Извлечение новостей с помощью newspaper3k
  5. Поиск повторов в списке
  6. Фильтрация входных данных в Python
  7. Работа с defaultdictами в Python
  8. Роль object и type в Python
  9. Оператор @ для умножения матриц
  10. Метод is_absolute() для PurePath
  11. Работа с итераторами через срезы
  12. Библиотека wikipedia для Python
  13. Метод join() для объединения элементов строки
  14. Введение в PyTorch
  15. Mad Libs Generator
  16. Defaultdict в Python
  17. Списковое включение в Python
  18. Python: библиотеки и функции
  19. Очистка списка от False, None, 0, «»
  20. Преобразование типов данных в set comprehension
  21. Удаление ключа из словаря
  22. Сортировка в Python
  23. Получение имени функции с помощью inspect
  24. Отладчик pdb: начало работы
  25. PATCH-запрос с библиотекой requests
  26. Работа с контекстными менеджерами
  27. Monkey Patching в Python
  28. Работа с массивами в Numpy
  29. Генератор чисел Фибоначчи
  30. Обработка исключений в Python
  31. Функция zip() в Python
  32. Работа с collections.Counter
  33. Глубокое копирование объектов
  34. Очистка данных в Python
  35. Функция zip() в Python
  36. Красивый вывод списка
  37. Регистрация на хакатоне
  38. Выражения-генераторы в Python
  39. Логирование с Logzero
  40. Форматирование строк в Python
  41. Печать месячного календаря
  42. Изменение объектов в Python
  43. Генерация фальшивых данных с Faker
  44. Метод __call__ в Python
  45. Слияние словарей в Python 3.9
  46. Распаковка элементов массива
  47. Обработка ошибок в Python
  48. Правила именования переменных
  49. Выбор редактора кода.

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