为了账号安全,请及时绑定邮箱和手机立即绑定

循环遍历嵌套字典

循环遍历嵌套字典

繁星点点滴滴 2021-09-28 14:58:23
我正在尝试从https://fantasy.premierleague.com/drf/event/19/live 上的 JSON 文件中获取数据。但是,每当我遍历接收到的数据时,我都会遇到问题。下面代码中的第一个循环应该在 中附加值data["elements"]["1"]["stats"]["goals_scored"],但是每当我运行下面的代码时,我都会收到错误字符串索引必须是整数。每当我data["elements"]["number"]["stats"]["goals_scored"]直接引用时,它都会返回正确的数字。import jsonimport requestsdef goalCalculator():    data=requests.get("https://fantasy.premierleague.com/drf/event/19/live").json()    list1=[]    for i in data["elements"]:        list1.append(i["stats"]["goals_scored"])    return list1goalCalculator()我已经映射了 JSON 文件(如下),但我看不出哪里出错了。我的代码不应该工作正常吗?"elements":{    "1":{        "stats":{            "yellow_cards":0,            "own_goals":0,            "creativity":0.0,            "goals_conceded":0,            "bonus":0,            "red_cards":0,            "saves":0,            "influence":0.0,            "bps":0,            "clean_sheets":0,            "assists":0,            "ict_index":0.0,            "goals_scored":0,            "threat":0.0,            "penalties_missed":0,            "total_points":0,            "penalties_saved":0,            "in_dreamteam":false,            "minutes":0        }    },    "2":{etc...
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

代替


for i in data["elements"]:

    list1.append(i["stats"]["goals_scored"])


for i in data["elements"]:

    list1.append(data["elements"][i]["stats"]["goals_scored"])

在i循环中是关键data["elements"]的字典,而不是因为你是假设完整的元素。在您的示例中它只是“1”,因此您无法对其进行索引。您将需要获得完整的元素data["elements"][i]


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信