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

如何从NHL API的gameLog字典中提取统计值并计算均值?

问题解决:NHL API比赛日志数据提取错误

你的代码存在三个核心问题,导致始终返回0:

  1. 循环变量逻辑错误
    外层循环for key in player_data_json['gameLog']中,key实际是每个比赛的完整字典对象,不是字典的键名。后续判断if key == 'goals'是拿整个字典和字符串比较,永远不会成立,自然不会执行累加操作。

  2. 不必要的内层循环
    不需要遍历字典的所有键,直接通过字典键名(如game['goals'])就能获取对应比赛的进球数,完全可以跳过内层循环。

  3. 累加变量初始化位置错误
    goals = 0放在外层循环内部,每次循环都会重置累加值为0,即使有有效数据也无法累计。


修正后的代码

# 初始化总和变量(必须放在循环外)
total_goals = 0
total_points = 0
# 获取有效比赛场次
game_count = len(player_data_json['gameLog'])

# 遍历每场比赛的日志数据
for game in player_data_json['gameLog']:
    # 用get方法避免键不存在时报错,默认值设为0
    total_goals += game.get('goals', 0)
    total_points += game.get('points', 0)

# 计算均值(处理无比赛数据的边界情况)
avg_goals = total_goals / game_count if game_count > 0 else 0
avg_points = total_points / game_count if game_count > 0 else 0

# 输出结果
print(f"总进球数: {total_goals}, 场均进球: {avg_goals:.2f}")
print(f"总得分: {total_points}, 场均得分: {avg_points:.2f}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:54:54