スポンサーリンク
update()
メソッド
複数の辞書を一つにマージするには、次のようにupdate()
メソッドを使用します。
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict3 = {'e': 5, 'f': 6}
# 複数の辞書をマージする
dict1.update(dict2)
dict1.update(dict3)
print(dict1) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
複数の辞書をマージする
もし、辞書を完全に置き換えずに、複数の辞書をマージしたい場合は、次のようにChainMap
クラスを使用します。
from collections import ChainMap
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict3 = {'e': 5, 'f': 6}
# 複数の辞書をマージする
dict_merged = ChainMap(dict1, dict2, dict3)
print(dict_merged) # ChainMap({'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6})
# マージされた辞書から値を取得する
print(dict_merged['a']) # 1
print(dict_merged['c']) # 3
print(dict_merged['e']) # 5
# マージされた辞書に値を設定する
dict_merged['a'] = 10
print(dict_merged['a']) # 10
注意点とポイント
上記の例では、複数の辞書をChainMap
クラスに渡して、マージされた辞書を作成しています。このマージされた辞書から値を取得すると、最初に辞書に登録された値が取得されます。また、マージされた辞書に値を設定すると、最初に辞書に登録された値が上書きされます。