本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Python多级菜单中如何获取子菜单的键?

网络教程 app 1℃

Python多级菜单中如何获取子菜单的键

python 多级菜单

想要实现多级菜单,需要将菜单结构组织为嵌套字典。然而,在处理多级菜单时,可能会遇到类型转换的问题。

问题:

# 菜单数据dic_menu = { "北京": { "朝阳区": [], "海淀区": [], "东城区": [], }, "上海": { "黄浦区": [], "嘉定区": [], "浦东新区": [], },}# 打印菜单for city, sub_menu in dic_menu.items(): print(city) for district, items in sub_menu.items(): print(" – ", district)

运行该代码后会输出以下内容:

北京 – 朝阳区 – 海淀区 – 东城区上海 – 黄浦区 – 嘉定区 – 浦东新区

此时,如果尝试使用 city.keys() 获取子菜单,会得到 typeerror: ‘str’ object is not callable 错误。

原因:

程序中使用 for city, sub_menu in dic_menu.items() 遍历菜单数据时,city 是字符串,而不是字典。因此,无法对其调用 keys() 方法。

解决方案:

建议打印一下 dic_menu 的类型信息,以帮助理解其结构:

print(type(dic_menu)) # <class ‘dict’>

由此可见,dic_menu 是一个字典,其中的键是城市名称,值是代表子菜单的字典。因此,需要将 city 替换为子菜单字典来获取子菜单的键:

# 打印菜单for city, sub_menu in dic_menu.items(): print(city) for district in sub_menu.keys(): print(" – ", district)

这样就可以正确输出子菜单内容,不会出现 typeerror 错误。

以上就是Python 多级菜单中如何获取子菜单的键?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Python多级菜单中如何获取子菜单的键?

喜欢 (0)