Использование collections.defaultdict
Ex:
from collections import defaultdict
dict_list=[{'fl_metric': ('randomforest', 0.8), 'accuracy': ('randomforest', 0.9)}, {'fl_metric': ('sgdclassifier', 0.4), 'accuracy': ('sgdclassifier', 0.5)}]
result = defaultdict(list)
for i in dict_list:
for k, v in i.items():
result[k].append(v)
print(result)
# --> defaultdict(<type 'list'>, {'fl_metric': [('randomforest', 0.8), ('sgdclassifier', 0.4)], 'accuracy': [('randomforest', 0.9), ('sgdclassifier', 0.5)]})
или используя setdefault
Ex:
result = {}
for i in dict_list:
for k, v in i.items():
result.setdefault(k, []).append(v)
print(result)
# --> {'fl_metric': [('randomforest', 0.8), ('sgdclassifier', 0.4)], 'accuracy': [('randomforest', 0.9), ('sgdclassifier', 0.5)]}