【发布时间】:2019-03-07 02:54:54
【问题描述】:
我搜索了合并字典,但我查看的结果都假设 替换 的值。也就是说,如果你有一个像{'config_prop': 2} 这样的dict,另一个像{'config_prop': 7} 这样的dict,则合并的最终结果是{'config_prop': 7}。我要的是{'config_prop': 9}。
我的幼稚方法如下,虽然有效,但速度很慢。
split_output = [{'some_prop': 1}, {'some_prop': 2, 'other_prop': 19}]
combined_output = {}
for d in split_output:
if combined_output == {}:
combined_output = d.copy()
else:
for key, value in d.items():
if key in combined_output:
combined_output[key] = combined_output[key] + value # add to existing val
else:
combined_output[key] = value
我很想听听有关更好的方法的建议。谢谢!
更新:我试过了,但它比我的原始代码慢得多:
final_count = Counter()
for d in split_output:
final_count += Counter(d)
final_output = dict(final_count)
【问题讨论】:
标签: python dictionary optimization