将新元素添加到keylevel python下面的字典中

2024-10-03 17:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力把一个元素编入词典。字典有两个键,即ha。如果我使用以下代码,这是清晰可见的:

  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-变量是一个字典,它包含主客场球队的所有射门,其中ah代表实际球队

我想把联赛包括在内。但是,使用以下代码

league = 'premier_league'
shots.update({'league': league})

给我a,h,league而不是

{ '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', },

我该如何更改代码?提前谢谢


Tags: 代码inidforexecutereturn字典driver
2条回答

在您的代码中,shots是一个字典列表的字典。您需要更新每个“快照子字典”

最简单的方法是迭代快照,然后在快照中设置“联盟”键:

league = 'premier_league'
for team_shots in shots.values():
    for shot in team_shots:
        shot['league'] = league

更换代码

league = 'premier_league'
shots.update({'league': league})

使用以下代码

league = 'premier_league'
for shot in shots:
    for d in shots[shot]:
        d.update({'league': league})

相关问题 更多 >