1 回答

TA貢獻1796條經(jīng)驗 獲得超10個贊
嘗試使用collections.Counter
合并從創(chuàng)建的兩個配對字典之間的計數(shù)zip
:
from collections import Counter
l1 = [{'A': 5, 'B': 10, 'C': 15}, {'A': 5, 'B': 25, 'C': 17, 'D': 30, }]
l2 = [{'A': 5, 'G': 10, 'Q': 15}, {'A': 5, 'B': 25, 'M': 17, 'T': 30, }]
result = [Counter(x) + Counter(y) for x, y in zip(l1, l2)]
print(result)
輸出:
[Counter({'C': 15, 'Q': 15, 'A': 10, 'B': 10, 'G': 10}), Counter({'B': 50, 'D': 30, 'T': 30, 'C': 17, 'M': 17, 'A': 10})]
Counter是 的子類dict,因此您可以將其視為普通字典。dict如果您希望您的結(jié)果看起來像,您可以將其轉(zhuǎn)換為[{'A': 10, 'B': 10, 'C': 15, 'G': 10, 'Q': 15}, {'A': 10, 'B': 50, 'C': 17, 'D': 30, 'M': 17, 'T': 30}].
為什么上述內(nèi)容適用于文檔:
提供了幾種數(shù)學運算來組合 Counter 對象以生成多重集(計數(shù)大于零的計數(shù)器)。加法和減法通過增加或減少相應元素的計數(shù)來組合計數(shù)器。交集和并集返回相應計數(shù)的最小值和最大值。每個操作都可以接受帶符號計數(shù)的輸入,但輸出將排除計數(shù)為零或更少的結(jié)果。
添加回答
舉報