TGViewer
Python RU Python RU @pro_python_code · 12.4K subscribers
Post #1867 1.92K
🐍 Совет дня для продвинутых Python-разработчиков

Хочешь писать чище и безопаснее, когда работаешь с вложенными dict? Забудь про dict.get(...).get(...) и используй collections.ChainMap или types.SimpleNamespace — но ещё лучше: pydantic или dotmap.

А вот компактный трюк на каждый день — безопасное извлечение с functools.reduce:


from functools import reduce

def deep_get(dictionary, keys, default=None):
return reduce(lambda d, key: d.get(key, default) if isinstance(d, dict) else default, keys, dictionary)

data = {"user": {"profile": {"email": "test@example.com"}}}

email = deep_get(data, ["user", "profile", "email"])


📌 Почему это полезно:

- Нет KeyError

- Код читаемый

- Масштабируемо для любых уровней вложенности

🔥 Применяй в проектах, где много данных с API или JSON — избавит от лишних try/except и защитит от неожиданных крашей.

Python — это не только про лаконичность, но и про стабильность
  • ❤ 5
More from @pro_python_code
  1. Sep 22, 202610 агентов Claude теоретически обошли алгоритм Дейкстры В Vals AI запустили 10 агентов Cla…
  2. Sep 22, 2026🌟 Prism ML собрала тернарную версию Qwen3.8-27B Bonsai 2 27B - сжатая Qwen3.8-27B, котора…
  3. Sep 21, 2026Kubernetes NodeLocal DNSCache: ускоряем DNS-запросы 🚀 Без NodeLocal DNSCache DNS-запрос о…
  4. Sep 13, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
  5. Sep 11, 2026⚡️ DeepSeek открыла веса V4.1-Flash DeepSeek выложила свежайшую DeepSeek-V4.1-Flash, мульт…
  6. Sep 11, 2026Команды ждут тебя на треке программирование роботов на МТС True Tech Champ 2026 — всеросси…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →