[英]Convert list of dict into dict with values as keys
Given the dictionary:鉴于字典:
dictData = [{'aaa': 'aaa_value1', 'bbb': 'bbb_value1', 'ccc': 'ccc_value1'},
{'aaa': 'aaa_value1', 'bbb': 'bbb_value2', 'ccc': 'ccc_value2'},
{'aaa': 'aaa_value2', 'bbb': 'bbb_value3', 'ccc': 'ccc_value3'}]
I want this:我要这个:
newdictData=[{'aaa_value1':[(bbb_value1,ccc_value1),(bbb_value2, ccc_value2)],
{'aaa_value2':[(bbb_value3,ccc_value3)],
You can use a defaultdict:您可以使用默认字典:
from collections import defaultdict
d = defaultdict(list)
dictData = [{'aaa': 'aaa_value1', 'bbb': 'bbb_value1', 'ccc': 'ccc_value1'},
{'aaa': 'aaa_value1', 'bbb': 'bbb_value2', 'ccc': 'ccc_value2'},
{'aaa': 'aaa_value2', 'bbb': 'bbb_value3', 'ccc': 'ccc_value3'}]
for i in dictData:
the_vals = sorted(i.values())
d[the_vals[0]].append(the_vals[1:])
print(dict(d))
Output:输出:
{'aaa_value1': [['bbb_value1', 'ccc_value1'], ['bbb_value2', 'ccc_value2']], 'aaa_value2': [['bbb_value3', 'ccc_value3']]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.