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

如何从NHL比赛数据Dict中提取目标球队的得分?

如何从NHL比赛数据字典中提取特定球队的得分?

别慌,这事儿其实没那么复杂,咱们一步步拆解这个数据结构,轻松拿到你要的得分。

首先,先理清你的数据结构逻辑:

  • 整个字典的核心比赛数据藏在 dates 数组里,每个dates元素对应一个日期的比赛集合
  • 每个日期下的 games 数组就是当天的所有比赛,每场比赛的teams字段包含了主场(home)和客场(away)球队的完整信息,其中team['name']是球队名称,score就是该队的得分

通用解决方案(支持多日期、多场比赛)

下面用Python写个通用的提取逻辑,不管有多少场比赛都能找到目标球队的得分:

# 把你的NHL比赛数据存到这个变量里
nhl_data = {
    # 这里粘贴你原始的字典内容
}

# 定义你要找的目标球队
target_team = "Vegas Golden Knights"
team_score = None

# 遍历所有日期的比赛条目
for date_entry in nhl_data['dates']:
    # 遍历该日期下的每一场比赛
    for game in date_entry['games']:
        # 先检查主场球队是不是目标队
        if game['teams']['home']['team']['name'] == target_team:
            team_score = game['teams']['home']['score']
            break  # 找到就退出比赛循环
        # 再检查客场球队
        elif game['teams']['away']['team']['name'] == target_team:
            team_score = game['teams']['away']['score']
            break
    if team_score is not None:
        break  # 找到就退出日期循环

# 输出结果
if team_score is not None:
    print(f"{target_team} 的得分是: {team_score}")
else:
    print(f"没找到 {target_team} 的比赛数据哦")

单场比赛简化写法

如果你的数据里只有一场比赛(比如示例里的情况),可以直接定位,不用循环:

# 直接取第一场比赛的数据
game = nhl_data['dates'][0]['games'][0]

if game['teams']['home']['team']['name'] == target_team:
    team_score = game['teams']['home']['score']
elif game['teams']['away']['team']['name'] == target_team:
    team_score = game['teams']['away']['score']

print(f"{target_team} 的得分是: {team_score}")

小提示

  • 一定要保证球队名称的拼写完全匹配(包括大小写、空格),不然会找不到数据
  • 如果需要提取目标球队所有比赛的得分,别用break,把得分追加到一个列表里就行,比如scores.append(team_score)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:19:08