Курс 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. Работа с каталогами в Python
  3. Управление экспортом элементов
  4. Функция map() и ленивая оценка
  5. Обработка исключений в Python
  6. Применение промокода в Много лосося
  7. enumerate() в Python для работы с индексами
  8. Особенности запятых в Python
  9. Замена символов в Python
  10. Фильтрация списков с itertools
  11. Возврат нескольких значений из функции
  12. Сравнение def и lambda функций в Python
  13. Удаление элемента по индексу в Python
  14. Копирование словарей и списков в Python
  15. Изменение элемента списка
  16. Частичное совпадение пользовательского ввода в Python 3.10
  17. Обработка исключений в Python
  18. Разбиение текста в Python
  19. Определение наиболее частого элемента с помощью collections.Counter
  20. Логирование с Logzero
  21. Реализация метода __abs__ в Python
  22. Оптимизация памяти с __slots__
  23. Создание и инициализация объектов
  24. Конструктор в Python
  25. Использование html-скриптов в Jupyter Notebook
  26. Проверка условий в Python
  27. Преобразование строк в числа с плавающей запятой
  28. Измерение потребления памяти при сортировке
  29. Множественное наследование в Python
  30. Подсказки при вводе данных в Python
  31. Функция enumerate() в Python
  32. Лямбда-функции в Python
  33. Python enumerate() для работы с индексами
  34. Конкатенация строк с методом join()
  35. Исправление ошибки NameError
  36. Декораторы в Python
  37. Работа с модулем os в Python
  38. Подписка на @SelectelNews
  39. Работа с путями в Python
  40. Python itertools combinations() — группировка элементов
  41. Порядок и длина множеств в Python
  42. Работа с часовыми поясами в Python
  43. Оптимизация интернирования строк
  44. Объединение списков в Python

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