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})

更新日期: 2020 年 12 月 28 日

瀏覽量:2K+

開啟您的 職業

完成課程以獲得認證

開始學習
廣告