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

如何在Python中遍历两个列表并获取用户选择输入

实现分步选择两个列表的用户输入

你可以写一个复用的函数来处理列表选择逻辑,避免重复代码,先完成list1的选择,再处理list2的选择,示例代码如下:

def get_user_choice(options_list, prompt_text):
    # 显示提示文本
    print(prompt_text)
    # 遍历列表,显示带序号的选项(序号从1开始,符合用户输入习惯)
    for idx, option in enumerate(options_list, start=1):
        print(f"{idx}. {option}")
    
    # 循环直到用户输入合法选项
    while True:
        try:
            choice_idx = int(input("请输入选项序号:"))
            # 检查序号是否在有效范围内
            if 1 <= choice_idx <= len(options_list):
                return options_list[choice_idx - 1]
            else:
                print(f"请输入1到{len(options_list)}之间的数字!")
        except ValueError:
            print("请输入有效的数字序号!")

# 定义你的两个列表
list1 = ['E1', 'E2', 'E3']
list2 = ['api1', 'api2', 'api3', 'api4']

# 先选择list1的选项
selected_e = get_user_choice(list1, "请选择一个E选项:")
print(f"你选择了E选项:{selected_e}")

# 再选择list2的选项
selected_api = get_user_choice(list2, "请选择一个API选项:")
print(f"你选择了API选项:{selected_api}")

代码说明:

  • get_user_choice 是通用选择函数,接收待选列表和提示文本两个参数,list1和list2都能复用这个逻辑
  • 使用enumerate(options_list, start=1)让选项序号从1开始,更贴合用户的输入习惯(多数用户不习惯从0开始的序号)
  • while True循环配合try-except处理用户输入非数字或超出范围的情况,避免程序直接崩溃
  • 先调用函数处理list1,获取选择结果后再处理list2,完美实现你需要的依次选择效果

如果不想使用函数,也可以直接分两次写重复逻辑,但复用函数更简洁,也更符合Python的代码风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:52:13