[Python]2つの辞書(Dictionary)を結合するには?

python

どうも、ちょげ(@chogetarou)です。

2つの辞書(Dictionary)を結合する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

2つの辞書(Dictionary)を結合する方法は、3つあります。

update()メソッド

1つ目は、update()メソッドを使う方法です

まず、辞書からupdate()メソッドを呼び出します。

そして、引数に結合する辞書を指定します。

myDict1.update(myDict2)

上記のupdate()メソッドは、引数に指定した辞書を、メソッドを呼び出した辞書の後ろに結合します。

もし、2つの辞書(Dictionary)を結合した新しい辞書を作成したい場合は、copy()メソッドを使います。

myDict1 = {・・・}
myDict2 = {・・・}

#myDict1とmyDict2を結合した辞書を生成
newDict = myDict1.copy()
newDict.update(myDict2)

使用例

myDict1 = {"one":1, "two":2, "three":3}
myDict2 = {"four":4, "five":5, "six":6}

myDict1.update(myDict2)

print(myDict1) #{'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}

アンパック

2つ目は、アンパックを使う方法です。

まず、{}で新しい辞書を作成します。

そして、{}内に結合する2つの辞書をカンマ区切りで指定します。

指定する際に、2つの辞書名の先頭に「**」を付けます。

#myDict1とmyDict2を結合
newDict = { **myDict1, **myDict2 }

上記の{}は、{}内に記述した2つの辞書を結合した辞書(Dictionary)を生成します。

使用例

myDict1 = {"one":1, "two":2, "three":3}
myDict2 = {"four":4, "five":5, "six":6}

newDict = { **myDict1, **myDict2 }

print(newDict) #{'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}

演算子

3つ目は、演算子「|」を使う方法です。

具体的には、「|」の左辺と右辺に結合する2つの辞書を指定します。

#myDict1とmyDict2を結合
newDict = myDict1 | myDict2

上記の「|」は、左辺と右辺に指定した2つの辞書を結合した辞書(Dictionary)を生成します。

もし、片方の辞書にもう片方の辞書を結合したい場合は、「|=」を使います。

#myDict1にmyDict2を結合
myDict1 |= myDict2

使用例

myDict1 = {"one":1, "two":2, "three":3}
myDict2 = {"four":4, "five":5, "six":6}

newDict = myDict1 | myDict2

print(newDict)
#{'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}

まとめ

2つの辞書(Dictionary)を結合する方法は、次の3つです。

  • update()メソッドを使う方法
    myDict1.update(myDict2)
  • アンパックを使う方法
    newDict = { **myDict1, **myDict2 }
  • 演算子「|」を使う方法
    newDict = myDict1 | myDict2

コメント

タイトルとURLをコピーしました