Курс 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. Передача словаря через **kwargs
  3. Переопределение метода xor в Python
  4. Работа с изображениями Pillow
  5. Вызов функций по строке в Python.
  6. Удаление файлов с shutil.os.remove()
  7. Тип CodeType в Python.
  8. Конкатенация строк с помощью join()
  9. Работа с контекстными менеджерами
  10. Форматирование данных с помощью pprint
  11. Работа с пользовательским вводом
  12. Атрибуты массивов в Numpy
  13. ChainMap.new_child() — добавление нового словаря
  14. Иерархия классов в Python
  15. Делегирование в Python
  16. Операторы увеличения и уменьшения переменной
  17. Создание итератора
  18. Создание пар из последовательностей
  19. Оператор in в Python
  20. Python Метод sleep() из time
  21. Модуль os: работа с файлами и папками
  22. Работа с утверждениями в Python
  23. Установка и использование Virtualenv
  24. Установка и использование TensorFlow
  25. Профилирование данных с Pandas
  26. Метод index() в Python
  27. Функции в Python
  28. Combobox в Tkinter
  29. Официальный канал Python в Telegram
  30. Операторы сравнения в Python
  31. Цикл for в Python
  32. Операции с массивами в NumPy
  33. Объединение списков в строку
  34. Оператор объединения словарей
  35. Принципы SRP и OCP
  36. Циклы в Python
  37. Обработка StopIteration в Python
  38. Обработка исключения UnboundLocalError
  39. Оператор «not» в Python
  40. Метод rlshift для битового сдвига
  41. Оператор in и not in в Python
  42. Установка User-Agent в Python
  43. Работа со строками в Python
  44. Ввод нескольких значений

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