Pythonでは、2つの辞書を結合するためのいくつかの方法があります。それぞれの方法について詳しく見ていきましょう。
Python 3.9以上での辞書の結合
Python 3.9では、新たに辞書の結合演算子 |
が導入されました。この演算子を使うと、2つの辞書を簡単に結合することができます。
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict3 = dict1 | dict2
print(dict3) # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
また、|=
演算子を使うと、2つ目の辞書を1つ目の辞書に結合することができます。
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict1 |= dict2
print(dict1) # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
Python 3.5以上での辞書の結合
Python 3.5では、アンパック演算子 **
を使って2つの辞書を結合することができます。
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict3 = {**dict1, **dict2}
print(dict3) # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
Python 2での辞書の結合
Python 2では、update
メソッドを使って2つの辞書を結合することができます。
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
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict3 = merge_two_dicts(dict1, dict2)
print(dict3) # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
これらの方法を使うと、Pythonで辞書を結合することができます。ただし、同じキーが存在する場合は、後から結合される辞書の値が優先されることに注意してください。