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

Python 辞書を効率的にマージし、共通キーの値を合計するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-11 16:22:15707ブラウズ

How Can I Efficiently Merge Python Dictionaries and Sum Values for Common Keys?

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

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