На этом шаге мы покажем возможности этого класса.
Структура данных collections.ChainMap группирует многочисленные словари в одну таблицу соответствия.
См. документацию Python "collections.ChainMap": https://docs.python.org/3/library/collections.html#collections.ChainMap.
Поиск проводится по очереди во всех базовых ассоциативных объектах до тех пор, пока ключ не будет найден. Операции вставки, обновления и удаления затрагивают только первую таблицу соответствия, добавленную в цепочку.
>>> from collections import ChainMap >>> dict1 = {'один': 1, 'два': 2} >>> dict2 = {'три': 3, 'четыре': 4} >>> chain = ChainMap(dict1, dict2) >>> chain ChainMap({'один': 1, 'два': 2}, {'три': 3, 'четыре': 4}) >>> chain['три'] 3 >>> chain['один'] 1 >>> chain['отсутствует'] Traceback (most recent call last): . . . . KeyError: 'отсутствует'
На следующем шаге мы рассмотрим класс MappingProxyType.