Python字典层级添加元素:如何给嵌套射门数据加联赛字段
给每条射门数据添加联赛字段的解决方案
我明白你的问题啦——你手里的shots是个外层字典,h和a两个键分别对应主队、客队的射门数据列表,你想给每个射门条目都加上联赛信息,但之前用shots.update({'league': league})直接给外层字典新增了league键,完全没触达内层的射门数据字典对吧?
要实现你的需求,得深入到两层嵌套结构里去修改:先遍历外层字典的两个射门列表(h和a对应的值),再逐个遍历列表里的每条射门数据,给它们单独添加league字段。具体代码如下:
league = 'premier_league' # 遍历shots字典中每个球队的射门数据列表 for team_shots_list in shots.values(): # 遍历列表里的每一条射门记录 for single_shot in team_shots_list: # 给单条射门记录添加联赛字段 single_shot['league'] = league
简单解释一下:
shots.values()会取出外层字典里的两个值,也就是主队和客队的射门数据列表;- 第一层循环拿到每个球队的射门列表后,第二层循环逐个处理列表里的每个小字典(也就是单条射门数据);
- 直接给
single_shot这个字典新增league键并赋值,就能把联赛信息加到每条射门数据里了。
你可以打印一条数据验证效果:
# 打印主队第一条射门数据,检查是否包含league字段 print(shots['h'][0])
内容的提问来源于stack exchange,提问作者HJA24
相关产品推荐
相关产品推荐

