ホームページ >バックエンド開発 >Python チュートリアル >重複キーを持つ Python 辞書を効率的にマージするにはどうすればよいですか?

重複キーを持つ Python 辞書を効率的にマージするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 14:11:11993ブラウズ

How Can I Efficiently Merge Python Dictionaries with Duplicate Keys?

重複キーによる辞書のマージ

Python では、キーと値のペアのコレクションを保存するために辞書が使用されます。重複キーを持つ複数の辞書を扱う場合、関連付けられた値を維持しながら辞書をマージすることが一般的な課題になることがあります。

これを実現する効率的な方法の 1 つは、Python 標準ライブラリの collections.defaultdict を使用することです。この特殊な辞書を使用すると、存在しないキーに対してリストなどのデフォルトのファクトリを使用して値を初期化できます。

次のサンプル辞書を考えてみましょう:

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

これらの辞書をマージするには、次のようにします。空のリストのデフォルト値を使用して、defaultdict を初期化できます:

dd = defaultdict(list)

次に、各辞書を反復処理します。シーケンスとそのキーと値のペア:

for d in (d1, d2):
    for key, value in d.items():
        dd[key].append(value)

このループでは、見つかったキーごとに、対応する値をデフォルトのリストに追加します。このアプローチにより、すべての重複キーが関連付けられた値で処理されるようになります。

その結果、dd ディクショナリには重複キーに対応するマージされた値が含まれます。

print(dd)  # Output: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

このメソッドは特に便利です。大規模な辞書セットを扱う場合、または任意の数の入力辞書が存在する可能性がある場合。すべての重複キーを効率的にマージし、その値を統合された出力辞書に保持します。

以上が重複キーを持つ Python 辞書を効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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