You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取Python中inquirer模块返回字典的指定值?

如何直接获取inquirer Checkbox返回字典中的具体值

当然可以直接拿到你要的'Notes'值啦!因为inquirer的Checkbox组件返回的字典里,'Apps'对应的是一个列表(哪怕只选了一个选项),所以你只需要先取出这个列表,再根据索引拿到对应的元素就行。

具体操作步骤

  1. 先通过字典的键'Apps'获取到选中项的列表:
    selected_list = app_sel['Apps']
    
  2. 如果你确定用户只会选一个选项(或者只需要第一个选中的项),直接取列表的第0个索引:
    selected_app = selected_list[0]  # 这里就得到'Notes'了
    

优化后的代码示例

我给你调整了原代码,加上了取值逻辑和边界判断(防止用户没选就提交的情况):

import os
import inquirer

def app_menu():
    selections = [inquirer.Checkbox('Apps', message='Please select your app', choices=['Weather', 'Notes', 'Calculator', 'Exit'])]
    app_sel = inquirer.prompt(selections)
    
    # 先判断是否有有效选择
    if app_sel and 'Apps' in app_sel:
        selected_apps = app_sel['Apps']
        
        # 获取第一个选中的应用(比如你要的'Notes')
        if selected_apps:
            first_app = selected_apps[0]
            print(f"你选中的第一个应用是: {first_app}")
        
        # 如果你需要处理所有选中的应用,可以用循环遍历
        print("\n所有选中的应用:")
        for app in selected_apps:
            print(f"- {app}")

app_menu()

额外提醒

因为Checkbox是支持多选的,所以返回的列表可能包含多个元素。如果你的场景其实是单选,可以考虑换成inquirer的List组件,它会直接返回单个字符串值,不需要处理列表~

内容的提问来源于stack exchange,提问作者user9868018

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:27:21