Что такое ChainMap из модуля collections?

collections.ChainMap объединяет несколько mappings в одно логическое представление без копирования. Поиск идёт слева направо, а обычные изменения и удаления затрагивают только первый mapping.

Короткий ответ

Что ответить на собеседовании

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.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее