Курс 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. Методы list в Python
  4. Оптимизация создания строк
  5. Изучение объектов с помощью dir()
  6. Вычисление натурального логарифма в NumPy
  7. Конкатенация строк в Python
  8. Транспонирование 2D-массива с помощью zip
  9. Область видимости переменных
  10. Разрешение имен в Python
  11. Подсчет элементов с помощью Counter
  12. Лямбда-функции в Python
  13. Удаление файлов в Python
  14. Округление в Python
  15. Прокачанный трейсинг ошибок
  16. Работа с аргументами командной строки в Python
  17. Избегание циклических зависимостей классов в Python
  18. Модуль inspect
  19. Пространство имен в Python
  20. Удаление элемента из списка в Python
  21. Определение относительного пути
  22. Работа со словарями в Python
  23. Оператор in и not in в Python
  24. Метод pop() списка
  25. Проверка типа объекта в Python
  26. Секреты Python
  27. Метод pos в Python
  28. Функции с дополнением
  29. Документация функции help() в Python
  30. Сравнение def и lambda-функций
  31. Фильтрация элементов с помощью islice
  32. Сортировка списка по индексам
  33. Метод eq для сравнения объектов
  34. Протокол управления контекстом
  35. Многострочные комментарии в Python
  36. Извлечение новостей с помощью newspaper3k
  37. Лямбда-функции в Python
  38. Оператор walrus в Python
  39. Concrete Paths в Python
  40. Работа с классами данных
  41. Тестирование с responses
  42. Реализация операции -= для пользовательского класса
  43. Создание Radio кнопок в tkinter
  44. Многострочные строки в Python
  45. Сериализация данных в JSON с помощью json.dumps
  46. Измерение времени выполнения кода

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