在python中更新嵌套数据结构的节点

2024-10-02 06:22:01 发布

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

我对python非常陌生。我在更新python数据结构时遇到了问题,非常感谢您的帮助。我的问题是:

我的结构如下:

"players": [
    {
       "metadata": {
        "level": 11,
        "guild": "wizard",
        "kingdom" : "westonia"
       },
       "player_id": 34333
    },
    {
       "metadata": {
        "level": 11,
        "guild": "warrior",
        "kingdom": "Glorianth"
       },
       "player_id": 197456
    },
    ...etc...
]

现在,我想根据一个条件循环并更新其中一些播放器节点。因此,我:

for player in players:
   player_id = player[player_id]
   if has_level_bonus(player_id):
      player_level = player['metadata']['level']
      player_level = player_level + 10
      player['metadata']['level'] = player_level

这将正确地更新player_级别,但仅在提取的“player”节点内更新。我的问题是如何将更新后的值“放入”到“玩家”结构中

我试过players[player]['metadata']['level'] = player_level,但它给了我错误。我是python新手,所以我无法用语言来表达我的想法。非常感谢您的帮助


Tags: id数据结构节点结构levelkingdomwizardmetadata

热门问题