我是 Python 新手,我正在使用 Skyscanner 的 Python API 来练习 Python 和 API。来自 Skyscanner 的 API 的响应具有由多个列表组成的字典结构,这些列表又由许多字典组成。
见下文: Skyscanner 查询
result_base= flights_cache_service.get_cheapest_quotes(
market='AU',
currency='AUD',
locale='en-GB',
originplace='NYC',
destinationplace='MIA',
outbounddate='2017-07').parsed
result_base
变量是一个字典:
[in]
result_base.keys()
[out]
[u'Quotes', u'Currencies', u'Places', u'Carriers']
例如,如果我这样做:
[in]
print type(results_base['Quotes'])
[out]
list
列表中的每个项目都是一个具有多个值的行程,例如:
[in]
result_base['Quotes'][0]
[out]
{u'Direct': False,
u'MinPrice': 437.0,
u'OutboundLeg': {u'CarrierIds': [843],
u'DepartureDate': u'2017-07-01T00:00:00',
u'DestinationId': 56628,
u'OriginId': 67852},
u'QuoteDateTime': u'2017-02-02T13:20:59',
u'QuoteId': 1}
我试图找到最有效的方法来从results_base['Quotes']
. 我尝试遍历列表中的每个项目,但我正在寻找是否有更有效的方法来做到这一点。
我的代码:
base_result={}
min_price=99999
for i in result_base['Quotes']:
if i['MinPrice']<min_price:
min_price=i['MinPrice']
base_result['Direct']=i['Direct']
base_result['MinPrice']=i['MinPrice']
base_result['OutboundLeg']=i['OutboundLeg']
base_result['QuoteDateTime']=i['QuoteDateTime']
任何帮助表示赞赏,如果您有任何我可以使用的特定数据结构,也欢迎。