Курс 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. Функция format() в Python
  2. Метод lt для сортировки объектов
  3. Глобальные переменные в Python
  4. Декораторы в Python
  5. Автоматизация скриптов на AWS Lightsail.
  6. Работа с изображениями PIL
  7. Подписка на каналы разработчиков
  8. Печать календаря
  9. Лямбда-функции в Python
  10. Курсы Яндекс Практикум
  11. Управление IP-адресами через прокси
  12. Работа с массивами в Python
  13. Асинхронное программирование с asyncio
  14. Оператор continue в Python
  15. Создание генераторов в Python
  16. Аннотации типов в Python
  17. Сглаживание списка
  18. Возведение в квадрат с помощью itertools
  19. Функция eval() в Python
  20. Руководство по библиотеке pydantic
  21. Преобразование чисел в слова
  22. Руководство по Pymorphy2
  23. Чтение и запись TOML-конфигов
  24. Работа с timedelta
  25. Разработка Telegram-ботов
  26. Работа с NumPy.linalg
  27. Работа со стеком в Python
  28. Big O оптимизация
  29. Исправление ошибки NameError
  30. CLI-инструмент howdoi
  31. Применение команды break
  32. Загрузка постов Instagram
  33. Работа с множествами в Python
  34. Генерация тестовых данных с factory_boy
  35. Получение ID текущего процесса
  36. Метод rpow в Python
  37. Python Ellipsis использование
  38. Передача аргументов в Python
  39. Функция zip() для объединения списков
  40. Работа с модулем os в Python
  41. Явный импорт в Python
  42. Различия символов в Python
  43. Преобразование букв в нижний регистр
  44. Обработка исключений в Python
  45. Beautiful Soup — извлечение данных из HTML
  46. Работа с библиотекой xkcd
  47. *args и **kwargs в Python

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