首页 > 解决方案 > 遍历数组中的字典

问题描述

我正在尝试遍历数组中的字典。所述数组由 API 返回。我可以像这样访问字典:

poll_session['Itineraries'][0]['PricingOptions'][0]['Price']

我想['Price']['PricingOptions'].

我一直无法使用.iteritems()或 for 循环来获取每个['Price'].

dict 的折叠版本如下所示。

[
   "Itineraries": [
                     "PricingOptions" [
                                          "Price": 427.35
                  ]
        ]
]

预期的结果将是一个包含所有价格的数组:

例子:

['647.90', '990.12', '345.40']

标签: pythonpython-3.x

解决方案


如果价格是一个数组,那么你可以做这样的事情 -

myPriceArray = {
   "Itineraries":{
            "PricingOptions":{
                "Price": [427.35,437.35,447.35]
            }
    }
}
print(myPriceArray['Itineraries']['PricingOptions']['Price'])
for singlePrice in myPriceArray['Itineraries']['PricingOptions']['Price']: 
    print(singlePrice)

但是,如果这不是您想要的,请更新 myPriceArray,然后我会相应地分享解决方案。

或者如果 Itineraries 是一个数组,那么可以这样做 -

myPriceObject = {
   "Itineraries":[
            {
            "PricingOptions":{
                    "Price": 427.35
                }
            },
            {
            "PricingOptions":{
                    "Price": 437.35
                }
            },
            {
            "PricingOptions":{
                   "Price": 447.35
                }
            }
        ]
    }

for Itinerary in myPriceObject['Itineraries']: 
    print(Itinerary['PricingOptions']['Price'])

推荐阅读