collections.ChainMap

Объединяет несколько словарей в одно представление: поиск идёт по словарям слева направо.

Сигнатураcollections.ChainMap(*maps)

ChainMap не копирует данные, а связывает словари в цепочку. Чтение возвращает значение из первого словаря, где встречается ключ; запись по умолчанию идёт в первый словарь. Удобно для слоёв конфигурации (значения по умолчанию, переопределения).

from collections import ChainMap

defaults = {'color': 'red', 'size': 'M'}
user = {'color': 'blue'}
cfg = ChainMap(user, defaults)
print(cfg['color'])   # 'blue'  (из user)
print(cfg['size'])    # 'M'     (из defaults)

cfg['size'] = 'L'
print(user)           # {'color': 'blue', 'size': 'L'}
← Все записи: Модули collections и functools
Поддержать проект