どうも、ちょげ(@chogetarou)です。
2つの辞書(Dictionary)を結合する方法を紹介します。
方法

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
コメント