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

NBA球队数据程序开发:子列表归属与用户输入索引提取问题

解决NBA球队嵌套列表的用户输入查询问题

嘿,我来帮你搞定这个问题!看起来你已经把球队数据整理成嵌套列表结构了,现在核心要解决的就是「接收用户输入→定位对应球队子列表→提取指定索引元素」这三个环节对吧?下面我用Python给你分步骤讲解具体实现,还会给你优化方案哦:

第一步:明确你的数据结构

首先假设你的嵌套列表是类似这样的(每个子列表第一个元素是球队名,后面跟着对应数据):

nba_teams = [
    ['Atlanta', '107.5', '105.6', '.516', '.543'],
    ['Boston', '110.2', '104.8', '.521', '.538'],
    ['Lakers', '108.7', '106.3', '.509', '.541']
]

第二步:实现用户输入+球队子列表定位

我们可以用input()接收用户输入,然后遍历嵌套列表匹配球队名。这里建议忽略大小写,避免用户输入大小写不一致导致匹配失败:

# 接收用户输入,去除首尾空格
team_input = input("请输入要查询的NBA球队名称:").strip()

# 遍历嵌套列表,定位目标球队
target_team = None
for team in nba_teams:
    # 统一转小写进行匹配,提升用户体验
    if team[0].lower() == team_input.lower():
        target_team = team
        break

第三步:提取指定索引的元素

找到目标球队后,就可以根据需求提取对应索引的元素了。这里可以加入容错处理,避免用户输入无效的索引值:

if target_team:
    # 提示用户选择要查询的指标
    print("可选指标:1-场均得分,2-对手场均得分,3-RPI,4-篮板率")
    metric_input = input("请输入要查询的指标序号:")
    
    try:
        # 转换为整数索引(注意子列表里数据从索引1开始)
        metric_index = int(metric_input)
        # 验证索引是否有效
        if 1 <= metric_index <= 4:
            metric_value = target_team[metric_index]
            print(f"{target_team[0]}的{['场均得分','对手场均得分','RPI','篮板率'][metric_index-1]}值为:{metric_value}")
        else:
            print("⚠️ 请输入1-4之间的有效序号!")
    except ValueError:
        print("⚠️ 请输入有效的数字序号!")
else:
    print(f"❌ 未找到名为{team_input}的球队数据,请检查输入名称!")

更高效的优化方案:改用字典存储数据

如果你的球队数量较多,用嵌套列表遍历查找效率会比较低(时间复杂度O(n)),改用字典存储会更高效(查找时间复杂度O(1)),结构如下:

nba_teams_dict = {
    'Atlanta': ['107.5','105.6','.516','.543'],
    'Boston': ['110.2','104.8','.521','.538'],
    'Lakers': ['108.7','106.3','.509','.541']
}

对应的查询逻辑会更简洁:

team_input = input("请输入要查询的NBA球队名称:").strip()

if team_input in nba_teams_dict:
    print("可选指标:1-场均得分,2-对手场均得分,3-RPI,4-篮板率")
    metric_input = input("请输入要查询的指标序号:")
    
    try:
        # 字典里的子列表从索引0开始,所以要减1
        metric_index = int(metric_input) - 1
        if 0 <= metric_index <= 3:
            metric_value = nba_teams_dict[team_input][metric_index]
            print(f"{team_input}的{['场均得分','对手场均得分','RPI','篮板率'][metric_index]}值为:{metric_value}")
        else:
            print("⚠️ 请输入1-4之间的有效序号!")
    except ValueError:
        print("⚠️ 请输入有效的数字序号!")
else:
    print(f"❌ 未找到名为{team_input}的球队数据,请检查输入名称!")

这样不管是用户交互还是数据查找,都能更顺畅地完成需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:59:26