Справочник по функциям Python

collections.defaultdict

Создаёт словарь, который при обращении к отсутствующему ключу сам добавляет его со значением по умолчанию.

Python 3.13
collections.defaultdict([default_factory])

Параметры

default_factoryCallable | Noneнеобязательный
Функция без аргументов, которая создаёт значение по умолчанию, например list или int; при None отсутствующий ключ вызывает KeyError.

Возвращаемое значение

Объект defaultdict — подкласс словаря.

Примеры

Группировка слов по первой букве

Python 3.13
from collections import defaultdict

groups = defaultdict(list)
for word in ['apple', 'avocado', 'banana']:
    groups[word[0]].append(word)
print(dict(groups))
{'a': ['apple', 'avocado'], 'b': ['banana']}

Подсчёт букв с нулём по умолчанию

Python 3.13
from collections import defaultdict

counts = defaultdict(int)
for letter in 'hello':
    counts[letter] += 1
print(counts['l'], counts['z'])
2 0

Подробности

Передавайте саму функцию без скобок: defaultdict(list), а не defaultdict([]). Ключ добавляется только при обращении через d[key], а get() и in его не добавляют.

Смотрите также