Ручной способ поиска: сначала в
group3, если нет — в group2, если и там нет — в group1:age = group3.get(name, group2.get(name, group1.get(name)))
Работает, но нечитаемо и неудобно, особенно при большом количестве словарей.
Лучше используй
ChainMap для чистой логики с подстановкой по умолчаниюm = ChainMap(group3, group2, group1)
age = m.get("ana")
Создается объект ChainMap, который объединяет словари по приоритету:
Просто вызываешь
m.get(key) — он сам идет по цепочке, пока не найдет ключДаже если ключ есть в нескольких словарях, берётся первое вхождение по приоритету
👉 @PythonPortal
