Pythonで2つの辞書型(dict型)をマージ

Python

この記事は最終更新日から1年以上が経過しています。

Pythonで次のような2つの辞書型をマージしたいケースがありました。

マージする方法を調べていると、以下のようなやりかたがあります。
1. 新規につくる方法

実行結果はこうなります

しかし、実行結果をよく見ると、dict_a[‘B’][‘D’] や dict_a[‘B’][‘E’][‘G’] がなくなっています。
実行結果から考えると入れ子になっているところはマージしてくれないようです。
他にも調べてみましたが、いい感じにマージする方法がないようなので、実装しました。

実行結果

ほしい結果が得られました。
配列の扱いをどうするか難しいところですね。
辞書をマージする時はお気をつけください。

この記事を書いた人

高橋克幸
高橋克幸
新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。

Python