Python遍历JSON问题:如何获取所有轮次的首支参赛球队名称
解决思路与代码修改
嘿,你的问题很典型——刚接触嵌套数据结构时容易漏掉内层的循环~你现在的代码只取了每轮里的第一场比赛(matches[0]),所以自然只能拿到每轮第一个team1的名字。要获取每轮所有比赛的首支球队,只需要多加一层循环遍历每轮里的所有比赛就行啦!
修改后的代码
# 遍历每一个轮次 for matchday in js['rounds']: # 遍历当前轮次下的所有比赛 for match in matchday['matches']: # 打印这场比赛的首支球队名称 print(match['team1']['name'])
代码逻辑解释
- 外层循环
for matchday in js['rounds']:逐个取出每一个轮次(比如示例里的Matchday 1) - 内层循环
for match in matchday['matches']:针对当前轮次,逐个取出里面的每一场比赛 - 最后通过
match['team1']['name']就能拿到这场比赛的首支球队名称,每一场都会打印一次
额外拓展:收集不重复的球队
如果你想把所有出现过的首支球队收集起来(避免重复),可以用Python的set(集合)来存储:
# 用集合存储不重复的球队名称 unique_team1 = set() for matchday in js['rounds']: for match in matchday['matches']: unique_team1.add(match['team1']['name']) # 打印所有不重复的首支球队 print("所有首支球队(去重后):") for team in unique_team1: print(team)
内容的提问来源于stack exchange,提问作者Vasilev Georgi
相关产品推荐
相关产品推荐

