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

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

Patricia Arquette
リリース: 2024-12-14 14:11:11
オリジナル
992 人が閲覧しました

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

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