Python で 2 つの辞書を統合する方法をご紹介します。
基本的には 辞書型の update メソッドを使う形が最もシンプルかつかんたんな方法です。
land_animal = {'uma': 3, 'ushi': 5, 'kame': 7}
sea_animal = {'kujira': 10, 'kame': 12}
land_animal.update(sea_animal)
print(land_animal) # => {'kame': 12, 'kujira': 10, 'uma': 3, 'ushi': 5}
update は Ruby でいうところの破壊的メソッドで、レシーバそのものを変更してしまう点に注意が必要です。上の例では land_animal が書き換えられます。 land_animal を残しておきたい場合は copy してから update するのがよいでしょう。
all_animal = land_animal.copy()
all_animal.update(sea_animal)
ちなみに update 関数は他の辞書を受け取る形だけでなくキーワード引数を渡す形で使うことも可能です。
land_animal = {'uma': 3, 'ushi': 5, 'kame': 7}
land_animal.update(uma=10)
print(land_animal) # => land_animal = {'uma': 10, 'ushi': 5, 'kame': 7}
辞書型を同じキーを持つ要素の値を足し合わせる形で使うには collections.Counter を使うのが便利です。 collections.Counter クラスのインスタンスでは辞書型にはない「 + 」演算子がサポートされています。
from collections import Counter
land_animal = {'uma': 3, 'ushi': 5, 'kame': 7}
sea_animal = {'kujira': 10, 'kame': 12}
land_animal_counter = Counter(land_animal)
sea_animal_counter = Counter(sea_animal)
all_animal_counter = land_animal_counter + sea_animal_counter
all_animal = dict(all_animal_counter)