Курс 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. Создание комплексных чисел
  3. Преобразование типов данных в set comprehension
  4. Участие в сообществе @selectel
  5. Условное добавление элементов в список
  6. Псевдонимы в Python
  7. Python Метод del.
  8. Работа с изменяемыми списками
  9. Лимиты на ресурсы Python
  10. Работа с комплексными числами
  11. Непрерывная проверка в Python
  12. Метод add для класса Vector
  13. Эффективная конкатенация строк с использованием join()
  14. Определение имен функций
  15. Руководство по использованию Colorama
  16. Операции с комплексными числами
  17. Явный импорт в Python
  18. Создание именованных кортежей в Python
  19. Очистка данных с Pandas
  20. Сравнение def и lambda в Python
  21. Проверка окончания строки с помощью str.endswith()
  22. Поиск файлов по шаблону
  23. Настройка шрифта и цвета в Tkinter
  24. Python Менеджер контекста
  25. Кортежи в Python: особенности и преимущества
  26. Обработка данных в Python
  27. Работа с очередями в Python
  28. Именованные срезы в Python
  29. Преобразование объекта в строку
  30. Подписка на @SelectelNews
  31. Big O оптимизация
  32. Отладка утечек памяти в Python
  33. Объединение словарей в Python
  34. Удаление элемента из списка
  35. Метод ne для сравнения объектов
  36. Python reversed() vs срез[::-1]
  37. Обязательные аргументы в Python
  38. Конкатенация списков в Python
  39. Применение функции к каждому элементу списка
  40. Тестирование с responses
  41. Обход дочерних элементов BeautifulSoup
  42. Хешируемые ключи в Python
  43. Управление памятью в Python
  44. Ограничение итераций в Python
  45. Генераторы списков в Python

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