首頁 >後端開發 >Python教學 >我如何以 Python 方式組合兩個字典,對公共鍵的值求和?

我如何以 Python 方式組合兩個字典,對公共鍵的值求和?

Susan Sarandon
Susan Sarandon原創
2024-12-10 17:23:16232瀏覽

How Can I Pythonically Combine Two Dictionaries, Summing Values for Common Keys?

以Python 方式組合兩個字典

通常,在Python 中使用字典時,我們需要將多個字典合併為一個字典。這種情況下的常見要求是組合字典,為兩者中出現的鍵添加值。

例如,考慮以下兩個字典:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}

我們的目標是合併這些字典得到以下結果:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}

換句話說,如果一個鍵同時出現在兩個字典中,則它們的值應該相加向上,而僅存在於一個字典中的鍵應保留其原始值。

在Python 中實現此目的的一種優雅方法是利用集合模組中的Counter 類別:

from collections import Counter

A = Counter({'a': 1, 'b': 2, 'c': 3})
B = Counter({'b': 3, 'c': 4, 'd': 5})
result = A + B

Counter 類別透過提供一種簡單的方法來追蹤值的出現次數(計數),從而擴展了字典的功能。在我們的例子中,我們為兩個字典建立 Counter 對象,然後使用運算子將它們組合起來。結果是一個新的 Counter 對象,其中累積匹配鍵的計數。將 Counter 物件轉換回字典即可為我們提供所需的組合字典。

以上是我如何以 Python 方式組合兩個字典,對公共鍵的值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn