Курс 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. Декоратор @override
  3. Генерация QR-кодов с библиотекой qrcode
  4. Переменная Шредингера
  5. Обработка исключений
  6. Блок else в циклах Python
  7. 9 уловок для чистого кода
  8. Исключение NotImplementedError
  9. Получение комбинаций в Python
  10. Проверка надежности пароля на Python
  11. Лямбда-функции в Python
  12. Python union() функция — объединение множеств
  13. Мониторинг памяти с Pympler
  14. Python OrderedDict и fromkeys() — работа с словарями
  15. IPython и Jupyter Notebook: руководство
  16. Python Поверхностное Копирование
  17. Преобразование объекта в строку
  18. Методы shutil для работы с файлами
  19. Переменная с нижним подчеркиванием
  20. Функции в Python: создание и вызов
  21. Функция eval() в Python
  22. Обмен значений переменных в Python
  23. Комплексные числа в Python
  24. Импорт модуля из другого каталога
  25. Область видимости переменных
  26. Преобразование числа в список цифр
  27. Декораторы с аргументами
  28. Декодирование строк в Python
  29. Работа с timedelta в Python
  30. Поиск уникальных элементов строкой в Python
  31. Срезы в Python
  32. Подписка на @SelectelNews
  33. Декораторы в Python
  34. Избегайте изменяемых аргументов
  35. Присвоение и ссылки
  36. Оператор морж в Python 3.8
  37. Пустой оператор pass в Python
  38. Операторы Splat и splatty-splat
  39. Создание вложенных циклов for
  40. Замыкания в Python
  41. Каналы Senior: Python, Java, Frontend, SQL, C++
  42. Контроль точности вывода чисел
  43. Объединение списков с помощью zip
  44. Структуры данных в Python
  45. Методы обработки строк в Python
  46. Разбиение строки в Python
  47. Порядок и длина множеств в Python

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