ホームページ >バックエンド開発 >Python チュートリアル >Python で 2 つの辞書を効率的にマージするにはどうすればよいですか?
Python で 2 つの辞書を 1 つの式に結合するにはどうすればよいですか?
問題:
2 つの辞書を新しい辞書にマージし、2 番目の辞書の値を 2 番目の辞書の値で上書きします。
考えられる解決策:
Python 3.9.0 以降:
z = x | y
Python 3.5 またはより優れたもの:
z = {**x, **y}
Python 2、3.4 以下:
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)
説明:
1. Python 3.9.0 以降:
パイプ演算子 (|) は PEP-584 で導入され、辞書アンパック構文を使用して両方の辞書を結合します。
2. Python 3.5 以降:
辞書の展開には二重アスタリスク演算子 (**) が使用されます。各辞書はキーと値のペアとして解凍され、新しい辞書にマージされます。
3. Python 2、3.4 以前:
3.5 より前の Python バージョンでは、copy() メソッドと update() メソッドを使用して辞書を手動でマージする必要があります:
注:
辞書解凍構文 ({x, y}) を使用する方が、ディクタ内包表記 ({k: v for d in (x, y) for k, v in) を使用します。 d.items()}) または itertools.
のchain() 関数以上がPython で 2 つの辞書を効率的にマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。