コード一覧

【Python】複数の辞書を一つの辞書にまとめる方法

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クラスに渡して、マージされた辞書を作成しています。このマージされた辞書から値を取得すると、最初に辞書に登録された値が取得されます。また、マージされた辞書に値を設定すると、最初に辞書に登録された値が上書きされます。