在键级python下面的字典中添加新元素

时间:2019-01-19 12:24:59

标签: python dictionary

我正在努力在字典中添加元素。字典有两个键,分别是 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', 
},

我应该如何更改代码?预先感谢,

2 个答案:

答案 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