gpt4 book ai didi

python - 转换字典对象

转载 作者:太空狗 更新时间:2023-10-30 02:27:48 26 4
gpt4 key购买 nike

这个字典结构:

data = {
'a': { 'category': ['c', 'd'] },
'b': { 'category': ['c', 'd'] }
}

应该变成这个字典结构:

data = {
'c' : ['a', 'b'],
'd' : ['a', 'b']
}

我有以下方法:

for key, value in data.items():
if isinstance(value, dict):
if 'category' in value:
for cat in value['category']:
if cat in categories:
categories[cat].append(key)
else:
categories[cat] = [key]

我想知道是否有任何方法可以简化我的方法。我正在使用 python 3.5

最佳答案

你可以用 defaultdict(list) 来解决它,遍历类别并附加键:

>>> from collections import defaultdict
>>>
>>> d = defaultdict(list)
>>> for key, value in data.items():
... for item in value['category']:
... d[item].append(key)
...
>>> dict(d)
{'c': ['a', 'b'], 'd': ['a', 'b']}

关于python - 转换字典对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276493/

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