ホームページ >バックエンド開発 >Python チュートリアル >Python で 2 つの辞書を結合し、共通キーの値を合計するにはどうすればよいですか?

Python で 2 つの辞書を結合し、共通キーの値を合計するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-10 17:23:16232ブラウズ

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

Python で 2 つの辞書を結合する

Python で辞書を操作する場合、多くの場合、複数の辞書を 1 つの辞書に結合する必要があります。このようなシナリオでの一般的な要件は、辞書を結合し、両方に出現するキーの値を追加することです。

たとえば、次の 2 つの辞書について考えてみましょう:

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

私たちの目標はマージすることです。これらの辞書を使用して次の結果を取得します:

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

つまり、キーが両方の辞書に出現する場合、その値は次のようになります。一方、1 つの辞書にのみ存在するキーは元の値を保持する必要があります。

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 で 2 つの辞書を結合し、共通キーの値を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。