Рубрики
Без рубрики

defaultdict – Отсутствующие ключи возвращают значение по умолчанию

Автор оригинала: Doug Hellmann.

Стандартный словарь включает метод setdefault () для получения значения и установки значения по умолчанию, если значение не существует. В отличие от этого, defaultdict позволяет вызывающей стороне указать значение по умолчанию заранее при инициализации контейнера.

collections_defaultdict.py

import collections


def default_factory():
    return 'default value'


d  collections.defaultdict(default_factory, foo'bar')
print('d:', d)
print('foo =>', d['foo'])
print('bar =>', d['bar'])

Этот метод работает хорошо, если все ключи имеют одинаковое значение по умолчанию. Это может быть особенно полезно, если по умолчанию используется тип, используемый для агрегирования или накопления значений, такой как list , set или даже int . Документация стандартной библиотеки включает несколько примеров, в которых defaultdict используется таким образом.

$ python3 collections_defaultdict.py

d: defaultdict(,
{'foo': 'bar'})
foo => bar
bar => default value

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