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

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

Susan Sarandon
リリース: 2024-12-10 17:23:16
オリジナル
240 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート