{'labels': 'Middle East', 'default': 193}
{'labels': 'Coronavirus pandemic', 'default': 116}
{'labels': 'Europe', 'default': 90}
{'labels': 'United States', 'default': 67}
{'labels': 'Health', 'default': 63}
I have JSON objects like above.
I am trying to make below type array in python. plz help
{'labels': ['Middle East', 'Coronavirus pandemic', 'Europe', 'United States', 'Health'], 'default': [193, 116, 90, 67, 63]}
You can use list comprehension, assuming you have all those dictionaries inside an array:
dictionaries=[
{'labels': 'Middle East', 'default': 193},
{'labels': 'Coronavirus pandemic', 'default': 116},
{'labels': 'Europe', 'default': 90},
{'labels': 'United States', 'default': 67},
{'labels': 'Health', 'default': 63}]
labels=[d['labels'] for d in dictionaries]
default=[d['default'] for d in dictionaries]
result={'labels' : labels, 'default': default}
print(result)
Output:
{'labels': ['Middle East', 'Coronavirus pandemic', 'Europe', 'United States', 'Health'], 'default': [193, 116, 90, 67, 63]}
you can create a function merge
that can take multiple dictionaries and then merge those dictionaries
def merge(*dicts):
res = {}
for d in dicts:
for key in d.keys():
if key in res:
res[key].append(d[key])
else:
res[key] = []
res[key].append(d[key])
return res
a = {'labels': 'Middle East', 'default': 193}
b = {'labels': 'Coronavirus pandemic', 'default': 116}
c = {'labels': 'Europe', 'default': 90}
d = {'labels': 'United States', 'default': 67}
e = {'labels': 'Health', 'default': 63}
c = merge(a, b, c, d, e)
print(c)
output:
{'labels': ['Middle East', 'Coronavirus pandemic', 'Europe', 'United States', 'Health'], 'default': [193, 116, 90, 67, 63]}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.