I would like to extract the keys and value into a nested dictionary with list comprehension, one of the dictionary keys sometimes has the value a dictionary and sometimes a list of dictionaries
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"} ]},
]}}
I tried with this list comprehension:
result = [item["price"] for item in Data["main"]["sub_main"]]
how to output only certain values from the "price" key according to a filter on the "id" key , for example, output only the values of the "price" key for the "id" key which has the value "953"
thanks you
You can use 'if' statement in your list comprehension to extract data specific to an id.
result = [item["price"] for item in Data["main"]["sub_main"] if item["id"]=="953"]
Output
[[{'ref': 'razorback', 'value': '250'}, {'ref': 'sumatra', 'value': '170'}, {'ref': 'ligea', 'value': '320'}]]
result variable will only inlcude the filtered data.