问题描述
有一个对象,我们称它为 instance_list,其中包含一个包含单词及其出现次数的字典(称为 feature_counts)。我想将所有这些词典合二为一。 到目前为止,我已经创建了这样的列表理解
print("List:",[inst.feature_counts.items() for inst in self.instance_list])
并得到以下列表:
[dict_items([('deal',1),('lottery',3)]),dict_items([('lottery',2)]),dict_items([('deal',1)]),dict_items([('green',('eggs',1)])]
预期的输出是这样的:
{'deal':2,'lottery':5,'green':1,'eggs':1}
如何将我的列表理解转换为最终的字典?
解决方法
如果您的 self.instance_list
是字典列表,您可以:
out = {}
for inst in self.instance_list:
for k,v in inst.items():
out.setdefault(k,0)
out[k] += v
print(out)
打印:
{'deal': 2,'lottery': 5,'green': 1,'eggs': 1}