求助:如何在Python多嵌套字典中搜索指定Meno字段的值
在多层嵌套字典中搜索特定值的问题
我没法编写代码在多层嵌套字典里搜索某个特定值,我的字典结构如下(键名是母语,敬请谅解):
{ "Učitelia" : { "Mgr. Liana Smrečanová" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Liana", "Priezvisko" : "Smrečanová", "Trieda" : "III. C" }, "PaedDr. Mária Slováková" : { "titul" : "PaedDr.", "druhy_titul" : "", "Meno" : "Mária", "Priezvisko" : "Slováková", "Trieda" : "IV. B" }, "Mgr. Dominika Šimová" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Dominika", "Priezvisko" : "Šimová", "Trieda" : "I. C" }, "Mgr. Viera Šuchmová" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Viera", "Priezvisko" : "Šuchmová", "Trieda" : "Septima A" }, "PaedDr. Emília Uhláriková" : { "titul" : "PaedDr.", "druhy_titul" : "", "Meno" : "Emília", "Priezvisko" : "Uhláriková", "Trieda" : "" }, "Ing. Ján Valuška" : { "titul" : "Ing.", "druhy_titul" : "", "Meno" : "Ján", "Priezvisko" : "Valuška", "Trieda" : "" }, "Mgr. Jana Vasilová" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Jana", "Priezvisko" : "Vasilová", "Trieda" : "" }, "PhDr. Ivana Veselá" : { "titul" : "PhDr.", "druhy_titul" : "", "Meno" : "Ivana", "Priezvisko" : "Veselá", "Trieda" : "II. B" }, "Mgr. Tatiana Volentier, PhD." : { "titul" : "Mgr.", "druhy_titul" : "PhD.", "Meno" : "Tatiana", "Priezvisko" : "Volentier", "Trieda" : "" }, "Mgr. Jaroslav Výbošťok" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Jaroslav", "Priezvisko" : "Výbošťok", "Trieda" : "" } }, "Vedenie" : { "Riaditeľ" : { "RNDr. Ivetta Vidová" : { "titul" : "RNDr.", "druhy_titul" : "", "Meno" : "Ivetta", "Priezvisko" : "Vidová", "Trieda" : "" } }, "Zástupcovia" : { "Mgr. Ľubica Knollová" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Ľubica", "Priezvisko" : "Knollová", "Trieda" : "" }, "Mgr. Miroslav Škrinár" : { "titul" : "Mgr.", "druhy_titul" : "", "Meno" : "Miroslav", "Priezvisko" : "Škrinár", "Trieda" : "" }, "Ing. Jozef Výboh" : { "titul" : "Ing.", "druhy_titul" : "", "Meno" : "Jozef", "Priezvisko" : "Výboh", "Trieda" : "" } } } }
我想要在所有"Zamestnanci"(员工)中搜索"Meno"字段,但目前只能在"Učitelia"(教师)中找到对应值,因为"Vedenie"(管理层)包含更深层的字典结构。我尝试编写的多层循环代码没有任何输出结果,请求帮助。
以下是仅能搜索"Učitelia"的代码:
end = [] for i in dict_.get("Učitelia"): if dict_.get("Učitelia").get(i).get("Meno") == "Liana": end.append(dict_.get("Učitelia").get(i))
这是我尝试编写的代码:
end = [] for i in dict_: if dict_.get("Meno") != None: if dict_.get("Meno") == "Liana": end.append(dict_.get("Meno")) dict_ = reset_dict() break else: dict_ = dict_.get(i) dict_a = dict_ print("\na", dict_a) for a in dict_a: print("\n", a, dict_a) if dict_.get("Meno") != None: if dict_.get("Meno") == "Liana": end.append(dict_.get("Meno")) dict_ = reset_dict() break else: dict_ = dict_.get(a) dict_b = dict_ print("\nb", dict_b) for b in dict_b: print("\n", b, dict_b) if dict_.get("Meno") != None: if dict_.get("Meno") == "Liana": end.append(dict_.get("Meno")) dict_ = reset_dict() break else: dict_ = dict_.get(b) dict_c = dict_ print("\nc", dict_c) for c in dict_c: print("\n", c, dict_c) if dict_.get("Meno") == "Liana": end.append(dict_.get("Meno")) dict_ = reset_dict() break
注:dict_指上述的字典,我只有12岁,编程经验有限。
内容的提问来源于stack exchange,提问作者Pansvecko
相关产品推荐
相关产品推荐

