Курс Python → Defaultdict в Python

Defaultdict — это подкласс встроенного типа словаря в Python, который позволяет задать значение по умолчанию для отсутствующих ключей. Это удобно, когда вы хотите избежать ошибок KeyError при обращении к несуществующему ключу.

Для использования defaultdict необходимо импортировать его из модуля collections. Затем можно создать defaultdict, указав тип данных для значений и значение по умолчанию. Например, defaultdict(int) создаст словарь, где отсутствующие ключи будут иметь значение 0.

from collections import defaultdict

# Создание defaultdict с типом int и значением по умолчанию 0
d = defaultdict(int)
d['a'] = 1
print(d['b'])  # Выводит 0, так как ключ 'b' отсутствует

Помимо типа данных и значения по умолчанию, можно также использовать функцию для создания значения по умолчанию. Например, defaultdict(list) создаст словарь, где отсутствующие ключи будут иметь пустой список.

from collections import defaultdict

# Создание defaultdict с типом list и значением по умолчанию []
d = defaultdict(list)
d['a'].append(1)
print(d['b'])  # Выводит [], так как ключ 'b' отсутствует

Использование defaultdict упрощает код и делает его более читаемым, особенно при работе с большими объемами данных или сложными структурами. Он предоставляет удобный способ управления значениями по умолчанию в словаре, что может быть полезно во многих ситуациях.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Подсчет элементов в списке с Counter
  2. Объединение списков в строку
  3. Numpy: разбиение массивов
  4. Частичное совпадение пользовательского ввода в Python 3.10
  5. Сравнение строк в Python
  6. Форматирование данных с помощью pprint
  7. Переворот последовательности
  8. Pretty-printing JSON в Python
  9. Добавление элемента в список.
  10. Операции с числами в Python
  11. Генерация тестовых данных с factory_boy
  12. Переопределение метода divmod
  13. Объединение строк с помощью метода join
  14. Метод get() для словарей
  15. Отладка в командной строке
  16. Python: отсутствие точек с запятыми
  17. Итерация по итерируемым объектам
  18. Генерация случайных данных в NumPy
  19. Enum в Python
  20. Функция zip() в Python
  21. JMESPath в Python
  22. Измерение потребления памяти при сортировке
  23. Непрерывная проверка в Python
  24. Тайное преобразование типа ключа
  25. Класс UserDict: дополнительная функциональность
  26. Импорт модулей в Python 3.12
  27. Функция format() в Python
  28. Декораторы в Python
  29. Принципы Zen of Python
  30. Очистка данных в Python
  31. Модуль inspect: получение информации о объектах
  32. Глобальные переменные в Python
  33. Оператор in в Python
  34. Метод ifloordiv для пользовательских классов
  35. Переворот списка в Python
  36. Измерение времени выполнения в Python
  37. Копирование объектов в Python
  38. Улучшение читаемости кода в Python
  39. Работа с кортежами в Python
  40. Ввод нескольких значений
  41. Порядок и длина множеств в Python
  42. Измерение времени выполнения кода в Python
  43. Игра Виселица на Python
  44. Отладчик pdb: начало работы
  45. GitHub в Telegram: подписка на уведомления
  46. Проверка запуска скрипта или импорта модуля

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