我想将键和值提取到具有列表推导式的嵌套字典中,其中一个字典键值有时为dictionary,有时为dictionary列表
Data={"main": {"sub_main": [
{"id": "995", "item": "850", "price": {"ref": "razorback", "value": "250"}},
{"id": "953", "item": "763", "price": [{"ref": "razorback", "value": "250"},{"ref": "sumatra", "value": "170"},{"ref": "ligea", "value": "320"} ]},
]}}
我试着用这个列表推导:
result = [item["price"] for item in Data["main"]["sub_main"]]
如何仅从"price"中输出某些值根据筛选器上的"id"键;键,例如,只输出"price"的值。"id"的关键字值为"953">
谢谢你
您可以在列表推导中使用'if'语句来提取特定于id的数据。
result = [item["price"] for item in Data["main"]["sub_main"] if item["id"]=="953"]
输出[[{'ref': 'razorback', 'value': '250'}, {'ref': 'sumatra', 'value': '170'}, {'ref': 'ligea', 'value': '320'}]]
result变量将只包含过滤后的数据。