from typing import Dict, Set # make valid subs for ewch top in nav def valid_subs(nav: Dict[str, Dict])->Dict[str, Set[str]] : valid_subs_by_top: Dict[str, Set[str]] = {} for label, data in (nav.get("cats") or {}).items(): top_slug = (data or {}).get("slug") if not top_slug: continue subs_set = { (s.get("slug") or "").strip() for s in (data.get("subs") or []) if s.get("slug") } valid_subs_by_top[top_slug] = subs_set return valid_subs_by_top