Курс 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. Оболочка Python
  3. Обработка исключения UnboundLocalError
  4. Python: изменяемые и неизменяемые коллекции
  5. Управление контекстом выполнения
  6. Работа с функцией next() в Python
  7. Проверка надежности пароля на Python
  8. Генераторы по генератору
  9. Логирование с Loguru
  10. Встраивание HTML в Jupyter Notebook
  11. Проверка подстроки в строке
  12. Слияние словарей в Python 3.9
  13. Функция count() в Python
  14. Создание графиков в терминале
  15. Реализация метода __abs__ в Python
  16. Модуль xkcd: загрузка комиксов
  17. Работа с базами данных SQLite
  18. Итераторы в Python
  19. Комментарии в Python.
  20. Оператор «or» в Python
  21. Работа с файлами в Python
  22. Метод count() для списка
  23. Хеширование паролей с солью
  24. Объединение итераторов
  25. Python: Фильтрация списков с помощью filter()
  26. Группы исключений в Python
  27. Тестирование модели в PyTorch
  28. Бинарный поиск
  29. Установка random seed в Python
  30. Проверка списка: any() и all()
  31. Печать календаря
  32. Преобразование списка в словарь через генератор
  33. Создание списка через итерацию
  34. Поиск повторов в списке
  35. Объединение, распаковка и деструктуризация
  36. Удаление ключа из словаря в Python
  37. Изменение IP-адреса в Python
  38. Удаление дубликатов в pandas
  39. Проверка условий в Python
  40. Работа с YAML в Python
  41. Импорт и использование модулей в Python
  42. Функции классификации комплексных чисел
  43. Python OrderedDict и fromkeys() — работа с словарями
  44. Обработка исключений в Python 3
  45. Генерация фальшивых данных с Faker
  46. Многострочные комментарии в Python
  47. Математические функции в Python
  48. Экранирование символов в Python

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