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

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

DDD
DDDオリジナル
2024-12-20 22:20:11547ブラウズ

How to Merge Two Dictionaries in Python with a Single Expression?

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

Python 3.9.0 以降では、 | を使用できます。演算子:

z = x | y

Python 3.5 以降では、二重アスタリスク (**) 演算子を使用できます:

z = {**x, **y}

Python 2 または Python 3.4 以前では、次のことができます。関数を定義します:

def merge_two_dicts(x, y):
    z = x.copy()
    z.update(y)
    return z

そして、関数:

z = merge_two_dicts(x, y)

説明:

「2 つの辞書をマージする」というときは、すべてのキーと値を含む新しい辞書 (z) を作成することを意味します。 x と y の両方のペア。y の値で x 内の重複キーが上書きされます。

|演算子は、特にこのユースケースに対処するために Python 3.9 に追加されました。辞書を浅く結合し、後者 (つまり、この例では y) を優先します。

二重アスタリスク演算子 (**) は、辞書を結合するもう 1 つの方法です。キーワード引数として渡されたかのように辞書を展開し、重複キーは期待どおりに処理されます (後者の値が優先されます)。

Python 2、または 3.4 以前では、次のようにして辞書をマージできます。新しい辞書を x のコピーとして作成し、それを y で更新します。これにより、プロセス中に x と y が変更されなくなります。

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

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