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

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

python 多级菜单

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

问题:

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

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

立即学习“Python免费学习笔记(深入)”;

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

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

原因:

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

解决方案:

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

print(type(dic_menu))  # 

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1350508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 15:08:21
下一篇 2025年12月13日 15:08:39

相关推荐

发表回复

登录后才能评论
关注微信