Python(逗号分隔值)

时间:2017-03-13 10:53:18

标签: python python-3.x

我有一本字典:

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

1 个答案:

答案 0 :(得分:1)

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