Extract key , value from dictionary and store it in new list

Question:

I have data in the following format.

{"id": 0, "key1": value, "key2": "value", "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}}
{"id": 1, "key1": value, "key2": "value", "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}}
{"id": 2, "key1": value, "key2": "value", "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}}

I want to extract the key ‘id’ and ‘imp_key’ features from this data and store them in a new list. The dataset is quiet big, but similar format. The subkey, value pair content numeric data.

desired output:

[{"id": 0, "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}},
     {"id": 1, "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}},
     {"id": 2, "imp_key": {"sub_key1": 5, "sub_key2": 10, "sub_key3": 15}}
    ]

Can anyone help with extracting the data from list?
Thank you.

Asked By: Ubuntu

||

Answers:

Assuming that your input data is actually in the format:

l = [{"id": 0, "key1": "value", "key2": "value", "imp_key": {"sub_key1": None, "sub_key2": None, "sub_key3": None}},
{"id": 1, "key1": "value", "key2": "value", "imp_key": {"sub_key1": None, "sub_key2": None, "sub_key3": None}},
{"id": 2, "key1": "value", "key2": "value", "imp_key": {"sub_key1": None, "sub_key2": None, "sub_key3": None}}]

You could do something like this:

newl = []
for x in l:
    newx = x.copy()
    newx.pop("key1")
    newx.pop("key2")
    newl.append(newx)
print(newl)

Output:

[{'id': 0, 'imp_key': {'sub_key1': None, 'sub_key2': None, 'sub_key3': None}}, {'id': 1, 'imp_key': {'sub_key1': None, 'sub_key2': None, 'sub_key3': None}}, {'id': 2, 'imp_key': {'sub_key1': None, 'sub_key2': None, 'sub_key3': None}}]
Answered By: Dominic
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.