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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 09:49:13668ブラウズ

How to Efficiently Merge Two Dictionaries in Python?

Python の 1 つの式で 2 つの辞書を効率的に結合するにはどうすればよいですか?

Python 3.9.0 以降:

z = x | y

Python 3.5 または以降:

z = {**x, **y}

Python 2 以前:

カスタム merge_two_dicts を作成する関数:

def merge_two_dicts(x, y):
    z = x.copy()  # Start with keys and values of x
    z.update(y)    # Modifies z with keys and values of y
    return z

使用法:

z = merge_two_dicts(x, y)

説明:

  • Python 3.9 .0 以降: パイプ演算子 (|) は、辞書を結合するための Python の新しい演算子構文。
  • Python 3.5 以降: 二重スター演算子 (**) は辞書を解凍し、新しい辞書に結合します。
  • Python 2 以前: copy() メソッドは、最初の辞書 (x) を z に変換し、次に update() メソッドを使用して 2 番目の辞書 (y) の値で更新します。

注:

  • マージされた辞書 (z) には、2 番目の辞書 (y) のキーと値が最初の辞書のキーと値を上書きします。 (x).
  • ネストされた辞書の再帰的マージについては、ここで受け入れられた回答を参照してください: https://stackoverflow.com/a/27181039/17220008

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

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