Python字典查找值时如何跳过随机动态键?以AWS定价API返回数据为例
跳过动态键提取EC2按需定价的实现方案
针对AWS Pricing API返回的结构化数据,OnDemand和priceDimensions下的动态随机键均为单条目结构,可通过提取字典值的方式绕过硬编码限制:
# 提取OnDemand下的首个动态条目 ondemand_item = next(iter(price_list["OnDemand"].values())) # 提取priceDimensions下的首个动态条目 price_item = next(iter(ondemand_item["priceDimensions"].values())) # 直接获取USD单价 hourly_cost = price_item["pricePerUnit"]["USD"]
说明:
next(iter(dict.values()))是Python3中提取字典首个值的最高效实现,无需将全量字典值转为列表,适合处理AWS Pricing API返回的大体积数据。
如果单次查询返回多个EC2实例的定价结果,可通过遍历所有值配合规则过滤实现批量提取:
for ondemand_item in price_list["OnDemand"].values(): for price_item in ondemand_item["priceDimensions"].values(): # 可按需增加过滤规则,比如仅匹配Linux按需实例、特定区域定价等 if "On Demand Linux" in price_item["description"] and price_item["unit"] == "Hrs": hourly_cost = price_item["pricePerUnit"]["USD"] # 对应业务处理逻辑 print(f"实例SKU:{ondemand_item['sku']} 小时成本:{hourly_cost}")
内容的提问来源于stack exchange,提问作者Nava Braulio
相关产品推荐
相关产品推荐

