Python: group list items in a dict
将一个list中的dict 按某个key分组,生成dict:
input_list = [
{'a':'tata', 'b': 'foo'},
{'a':'pipo', 'b': 'titi'},
{'a':'pipo', 'b': 'toto'},
{'a':'tata', 'b': 'bar'}
]
output_dict = {
'pipo': [
{'a': 'pipo', 'b': 'titi'},
{'a': 'pipo', 'b': 'toto'}
],
'tata': [
{'a': 'tata', 'b': 'foo'},
{'a': 'tata', 'b': 'bar'}
]
}
最简单的实现-----dict.setdefault():
output_dict = {}
for item in input_list:
output_dict.setdefault(item['a'], []).append(item)