Курс 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 reversed() vs срез[::-1]
  2. Умножение строк и списков
  3. Измерение времени выполнения кода с использованием time
  4. Сохранение Unicode в JSON
  5. Удаление и повторная вставка ключа в OrderedDict
  6. Работа с CSV в Python
  7. Установка и использование pyshorteners
  8. PEP-401: оператор
  9. Defaultdict в Python
  10. Преобразование Word в PDF с Spire.Doc
  11. Удаление дубликатов с помощью множеств
  12. Объединение словарей в Python 3.5+
  13. Хешируемые ключи в Python
  14. Создание словарей и множеств в Python
  15. Тернарный оператор в Python
  16. Работа с контекстными переменными
  17. Логирование с Logzero
  18. Форматирование строк в Python.
  19. Функции высшего порядка в Python
  20. Python Метод sleep() из time
  21. Структуры данных в Python
  22. Работа с комплексными числами
  23. Нан-рефлексивность в Python
  24. Работа со словарями Python
  25. Создание задания в Cron
  26. Перевернуть список в Python
  27. Инициализация объекта
  28. Форматирование чисел в Python
  29. Вычисление натурального логарифма в NumPy
  30. Математические функции в Python
  31. %pinfo: получение информации об объекте
  32. Проверка элемента в множестве.
  33. Переменные класса и экземпляра
  34. Новшества Flask 2.0
  35. Регулярные выражения в Python
  36. Объединение списков в Python.
  37. Метод classmethod
  38. Вычисление натуральных логарифмов в NumPy
  39. Работа с временем в Python
  40. Рекурсия для обращения строки
  41. Функция reduce() в Python
  42. Удаление символов новой строки в Python.
  43. Запрос DELETE с библиотекой requests
  44. Создание детектора плагиата
  45. Преобразование списка в словарь через генератор
  46. Манипуляция формой массива в Numpy
  47. Создание именованных кортежей в Python
  48. Удаление ресурса в Python

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