collections.ChainMap объединяет несколько mappings в одно логическое представление без копирования. Поиск идёт слева направо, а обычные изменения и удаления затрагивают только первый mapping.
Что такое ChainMap из модуля collections?
collections.ChainMap объединяет несколько mappings в одно логическое представление без копирования. Поиск идёт слева направо, а обычные изменения и удаления затрагивают только первый mapping.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
collections.ChainMap объединяет несколько mappings в одно логическое представление без копирования. Поиск идёт слева направо, а обычные изменения и удаления затрагивают только первый mapping.
Это удобно для слоёв конфигурации: параметры команды, окружение, значения по умолчанию. Например, ChainMap({'x': 2}, {'x': 1, 'y': 3}) вернёт x=2 и y=3. Если изменить исходный словарь, представление увидит изменение. del для ключа, существующего только в нижнем слое, не удалит его оттуда. new_child() добавляет новый верхний слой. ChainMap отличается от объединённого dict, который является отдельной копией.
Источник: docs.python.org.