gpt4 book ai didi

python - "Regrouping"来自嵌套字典的数据

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:44 26 4
gpt4 key购买 nike

我有一个像这样的 JSON 文档:

{
'item1':{
'value':[a,b],
'number':1
},
'item2':{
'value':[a],
'number':2
},
'item3':{
'value':[b],
'number':3
}
}

是否可以获取按值分组的项目名称?

这就是我想要的:

a: item1, item2
b: item1, item3

我尝试了以下方法,但没有成功:

l = sorted(l.iteritems())
for key, group in groupby(l,key=lambda x:x['value']):
print key, group

最佳答案

首先,这不是 JSON。

JSON 中的字符串有双引号,而不是单引号,并且不带引号的标记 ab 在 JSON 中没有意义。假设您的实际文档如下所示:

{
"item1": {
"value": ["a", "b"],
"number": 1
},
"item2": {
"value": ["a"],
"number": 2
},
"item3": {
"value": ["b"],
"number": 3
}
}

...并且您已将其加载到Python字典data中,您可以获得您想要的输出,如下所示:

grouped = {}
for key, subdict in data.items():
for value in subdict['value']:
grouped.setdefault(value, []).append(key)

这将使您的分组看起来像这样:

{
'a': ['item2', 'item1'],
'b': ['item3', 'item1']
}

关于python - "Regrouping"来自嵌套字典的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47166214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com