Курс Python → Создание словарей с defaultdict()

Класс defaultdict() из модуля collections в Python является удобным инструментом для создания словарей с значениями по умолчанию. Это особенно полезно, когда вам нужно избежать ошибок KeyError при обращении к несуществующему ключу. При использовании defaultdict() вы можете указать функцию, которая будет возвращать значение по умолчанию для каждого ключа.

Пример использования класса defaultdict() для создания словаря с количеством фруктов:


from collections import defaultdict

fruits = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']

fruit_counts = defaultdict(int)
for fruit in fruits:
    fruit_counts[fruit] += 1

print(fruit_counts)

В этом примере мы создаем словарь fruit_counts с помощью defaultdict(int), что означает, что по умолчанию для каждого ключа будет установлено значение 0. Затем мы перебираем список фруктов и увеличиваем счетчик для каждого вида фрукта. В результате мы получаем словарь, в котором ключами являются названия фруктов, а значениями — количество каждого вида фруктов.

Если бы мы использовали обычный словарь вместо defaultdict(), нам пришлось бы проверять наличие ключа перед увеличением счетчика, чтобы избежать ошибки KeyError. С использованием defaultdict() этот процесс упрощается и код становится более читаемым.

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

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

Автор урока

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

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

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

  1. Управление виртуальными окружениями в Python
  2. Разработка Telegram-ботов
  3. Срезы в Python
  4. Применение команды break
  5. Оператор Walrus в Python
  6. Работа с файлами в Python
  7. Счетчик ссылок в Python
  8. Список и кортеж в Python
  9. Распаковка аргументов в Python
  10. Класс Counter() для подсчета элементов
  11. Настройка нарезки списков
  12. Измерение времени выполнения кода
  13. Установка и использование howdoi
  14. Управление контекстом с помощью декоратора contextmanager
  15. Переопределение метода __floordiv__
  16. Декораторы в Python
  17. Руководство по библиотеке pydantic
  18. Объединение строк с помощью метода join
  19. Создание веб-приложения с Flask
  20. Справка по импортированным модулям
  21. Декодирование строк в Python
  22. Профилирование кода
  23. Преобразование букв в нижний регистр
  24. Подсчет часто встречающихся элементов
  25. Сортировка HTML-элементов
  26. Сортировка с параметром key
  27. Документирование функций в Python
  28. Работа с WindowsPath()
  29. Принципы SRP и OCP
  30. Подсчет элементов в Python
  31. Обучение модели с указанием эпох
  32. Автоматизация скриптов на AWS Lightsail.
  33. Python Менеджер контекста
  34. Работа с множествами в Python
  35. Применение функции map() с лямбда-функциями
  36. Инициализация объекта
  37. Метод title() в Python
  38. Проблема с изменяемыми аргументами
  39. Принципы программирования
  40. Тестирование времени с Freezegun
  41. Обрезка изображения с Pillow
  42. Аннотации типов в Python
  43. Использование type hints
  44. Defaultdict в Python
  45. Возврат нескольких значений
  46. Модуль future Python

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