ホームページ >バックエンド開発 >Python チュートリアル >Python 辞書を効率的にマージし、共通キーの値を合計するにはどうすればよいですか?
Python での辞書のマージ: 重複するキーの値の追加
複数の辞書を使用する場合、多くの場合、意味のある方法で辞書を結合する必要があります。 。一般的なシナリオの 1 つは、一方のディクショナリにのみ存在するキーを保持しながら、両方のディクショナリに表示されるキーの値を追加することです。
問題:
次のディクショナリについて考えてみましょう:
Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5}
目標は、これらの辞書を結合して、次のような結果が得られるようにすることです。は:
{'a': 1, 'b': 5, 'c': 7, 'd': 5}
Collections.Counter を使用した解決策:
これを実現する Python 的で効率的な方法は、collections.Counter クラスを使用することです。これは、要素ベースのカウントを行う便利な方法を提供する dict のサブクラスであり、辞書を結合するタスクに適しています。
from collections import Counter A = Counter({'a':1, 'b':2, 'c':3}) B = Counter({'b':3, 'c':4, 'd':5})
辞書を結合するには、Counter オブジェクトを追加するだけです。
merged_dict = A + B
結果は、重複する値を自動的に追加する新しい Counter オブジェクトです。キー:
merged_dict.most_common() # Output: [('c', 7), ('b', 5), ('d', 5), ('a', 1)]
通常の辞書への変換は簡単です:
merged_dict = dict(merged_dict)
以上がPython 辞書を効率的にマージし、共通キーの値を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。