Курс 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. Расчет времени выполнения кода
  2. Переопределение метода __and__
  3. Работа с PosixPath() в Python
  4. Отладка производительности Python
  5. Избегание циклических зависимостей классов в Python
  6. Метод join() для объединения элементов
  7. Обновление шаблона base.html
  8. Работа с YAML в Python
  9. Улучшенные подсказки для импорта в Python 3.12
  10. Чтение и запись TOML-конфигов
  11. Измерение времени выполнения кода
  12. Удаление элемента по индексу
  13. Любовь к Python
  14. Повторение элементов списков
  15. Генераторы в Python
  16. Создание даты из строки ISO
  17. Инверсия списка/строки в Python
  18. Работа с Enum в Python3.
  19. Анализ текста на русском языке с помощью Pymystem3
  20. Генераторы в Python
  21. Извлечение новостей с помощью newspaper3k
  22. Декораторы с @wraps
  23. Обработка исключений в Python
  24. Присвоение и ссылки
  25. Метод __getitem__ в Python
  26. Глобальные переменные в Python
  27. Переименование файлов в Python
  28. Создание новых списков через list comprehensions
  29. Переопределение метода __or__()
  30. Создание GUI с Tkinter: Entry
  31. Методы shutil для работы с файлами
  32. Antigravity модуль
  33. Метод count в Python: почему count(», ») возвращает 4?
  34. Таймер обратного отсчета
  35. Конструктор в Python
  36. Создание генераторов
  37. Обратное распространение ошибки
  38. Работа с классами данных
  39. Модуль inspect
  40. Метод getitem для доступа к элементам последовательности
  41. Замыкания в Python
  42. Генераторы списков в Python

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