我正在努力在字典中添加元素。字典有两个键,分别是 h 和 a 。如果使用以下代码,这将清晰可见:
shots = driver.execute_script("return shotsData")
for x in shots:
print(x)
但是,如果我用以下代码遍历字典
shots = driver.execute_script("return shotsData")
for x in shots:
print(shots[x])
我看到以下输出:
[
{
'X': '0.7909999847412109',
'Y': '0.36700000762939455',
'a_goals': '1',
'a_team': 'Manchester City',
'date': '2015-12-22 00:00:00',
'h_a': 'a',
'h_goals': '2',
'h_team': 'Arsenal',
'id': '55522',
'lastAction': 'Pass',
'match_id': '250',
'minute': '6',
'player': 'David Silva',
'player_assisted': 'Bacary Sagna',
'player_id': '617',
'result': 'MissedShots',
'season': '2015',
'shotType': 'LeftFoot',
'situation': 'OpenPlay',
'xG': '0.02694704197347164'
},
...
]
输出代表有关足球比赛中每次射击的数据。因此, shots 变量是一个字典,由主队(客队)的所有快照组成,其中 a 和 h 代表实际球队。
我想包括比赛的联赛。但是,使用以下代码
league = 'premier_league'
shots.update({'league': league})
给我 a,h,联赛而不是
{
'X': '0.7909999847412109',
'Y': '0.36700000762939455',
'a_goals': '1',
'a_team': 'Manchester City',
'date': '2015-12-22 00:00:00',
'h_a': 'a',
'h_goals': '2',
'h_team': 'Arsenal',
'id': '55522',
'lastAction': 'Pass',
'match_id': '250',
'minute': '6',
'player': 'David Silva',
'player_assisted': 'Bacary Sagna',
'player_id': '617',
'result': 'MissedShots',
'season': '2015',
'shotType': 'LeftFoot',
'situation': 'OpenPlay',
'xG': '0.02694704197347164',
'League': 'premier_league',
},
我应该如何更改代码?预先感谢,
答案 0 :(得分:0)
替换代码
league = 'premier_league'
shots.update({'league': league})
使用以下代码
league = 'premier_league'
for shot in shots:
for d in shots[shot]:
d.update({'league': league})
答案 1 :(得分:0)
在您的代码中,shots
是字典列表的字典。您需要更新每个“射击子词典”。
最简单的方法是遍历镜头,然后在镜头中设置“联赛”键:
league = 'premier_league'
for team_shots in shots.values():
for shot in team_shots:
shot['league'] = league