使用python迭代嵌套列表以获取特定值

2024-07-04 08:49:15 发布

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

我有一个json文件,试图从多个“区域”中提取“代码”

我可以单独提取代码,但我觉得应该有一个for循环,我可以写它自动迭代每个“区域”,因为我不会总是只有3个区域

我已经尝试了下面嵌套循环的多种变体,但我就是不能让它迭代

for areas in data:
   for area in areas:
      print(area['code']

当前python代码:

import json

with open('areas.json') as f:
    data = json.load(f)


    print(data['areas'][0]['area']['code'])
    print(data['areas'][1]['area']['code'])
    print(data['areas'][2]['area']['code'])

JSON文件:

"areas": [
      {
         "slotId": "slot1",
         "area": {
            "id": "southern",
            "code": "southern",
            "label": "southern area",
            "featureToggles": [],
            "featureChoices": []
         },
         "editable": true,
         "areaCategoryId": null
      },
      {
         "slotId": "slot2",
         "area": {
            "id": "easter",
            "code": "eastern",
            "label": "eastern area",
            "featureToggles": [],
            "featureChoices": []
         },
         "editable": true,
         "areaCategoryId": null
      },
      {
         "slotId": "slot3",
         "area": {
            "id": "western",
            "code": "western",
            "label": "western area",
            "featureToggles": [],
            "featureChoices": []
         },
         "editable": true,
         "areaCategoryId": null
      }

预期结果是为每个区域打印“代码”。这是正确的。然而,我想迭代它,而不必每次都添加一行新行,因为这太荒谬和乏味了


Tags: 代码idjson区域fordatacodearea

热门问题