Python(逗号分隔值)

2024-03-29 06:33:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典:

dict_1 = {'A' : {'C10' : 5},
    'A,B' : {'C11' : 5, 'C12' : 4},
    'A,B,C' : {'C10' : 3, 'C12' : 5},
    'C,D' : {'C11' : 4}
}

并希望输出为:

result = {'A' : [{'C10' : 5}, {'C11' : 5, 'C12' : 4}, {'C10' : 3, 'C12' : 5}],
          'B' : [{'C11' : 5, 'C12' : 4}, {'C10' : 3, 'C12' : 5}],
          'C' : [{'C10' : 3, 'C12' : 5}, {'C11' : 4}],
          'D' : [{'C11' : 4}]
}

Tags: 字典resultdictc11c10c12
1条回答
网友
1楼 · 发布于 2024-03-29 06:33:26
from collections import defaultdict
res = defaultdict(list)
for k, v in dict_1.items():
    for x in k.split(','):
        res[x].append(v)

result = dict(res)
print(result)

给你:

{'A': [{'C10': 5}, {'C11': 5, 'C12': 4}, {'C10': 3, 'C12': 5}],
 'B': [{'C11': 5, 'C12': 4}, {'C10': 3, 'C12': 5}],
 'C': [{'C10': 3, 'C12': 5}, {'C11': 4}],
 'D': [{'C11': 4}]}

相关问题 更多 >