Sobes.tech
Junior — Middle
97

Expliquez en quoi une collection defaultdict diffère d'un dictionnaire standard en Python et dans quels cas il est plus pratique de l'utiliser.

Réponse de l'IA

sobes.tech IA

Стандартный словарь (dict) в Python при обращении к несуществующему ключу вызывает исключение KeyError.

defaultdict из модуля collections — это подкласс словаря, который позволяет автоматически создавать значение по умолчанию для отсутствующих ключей, используя функцию-инициализатор.

Пример:

from collections import defaultdict

# Обычный dict
d = {}
# d['key']  # KeyError

# defaultdict с int (по умолчанию 0)
dd = defaultdict(int)
print(dd['key'])  # Выведет 0, ключ 'key' автоматически добавлен

# defaultdict с list
dd_list = defaultdict(list)
dd_list['key'].append(1)
print(dd_list['key'])  # [1]

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