繁体   English   中英

如何在 ZA7F5F35426B927411FC9231B563 中将 JSON object 元素分离到单独的 arrays 中?

[英]How can I separate JSON object elements into separate arrays in Python?

{'labels': 'Middle East', 'default': 193}
{'labels': 'Coronavirus pandemic', 'default': 116}
{'labels': 'Europe', 'default': 90}
{'labels': 'United States', 'default': 67}
{'labels': 'Health', 'default': 63}

我有上面的 JSON 对象。

我正在尝试在 python 中创建以下类型的数组。 请帮助

{'labels': ['Middle East', 'Coronavirus pandemic', 'Europe', 'United States', 'Health'], 'default': [193, 116, 90, 67, 63]}

您可以使用列表推导,假设您在数组中拥有所有这些字典:

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]}

您可以创建一个 function merge ,它可以采用多个字典,然后合并这些字典

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]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM