Python—合併兩個帶有公共鍵值的字典,並新增值
使用 Python 分析資料時,我們會遇到必須以這種方式合併兩個字典的情況,即對鍵具有相同值的那些元素進行值相加。在本文中,我們將看到新增這種兩個字典的情況。
For 迴圈和 | 運算子
採用此方法時,我們會設計一個 for 迴圈,以檢查兩個字典中鍵值是否存在,然後再將其相加。最後,使用 | 運算子(字典可用)合併兩個字典。
示例
dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} # Add with common key for key in dictB: if key in dictA: dictB[key] = dictB[key] + dictA[key] else: pass res = dictA | dictB print(res)
執行上述程式碼會得到以下結果 −
輸出
{'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10}
使用計數器
Collections 模組中的 Counter 函式可直接用於合併兩個字典,這樣可以保留鍵。然後會將值新增到匹配的鍵中。
示例
from collections import Counter dictA = {'Mon': 23, 'Tue': 11, 'Sun': 6} dictB = {'Wed': 10, 'Mon': 12, 'Sun': 4} res = Counter(dictA) + Counter(dictB) print(res)
執行上述程式碼會得到以下結果 −
輸出
Counter({'Mon': 35, 'Tue': 11, 'Sun': 10, 'Wed': 10})
廣告