1. ホーム
  2. python

[解決済み] 辞書に辞書を追加する[重複]。

2022-03-20 08:15:33

質問

既存の辞書が2つあり、そのうちの1つをもう1つの辞書に「追加」したいのです。つまり、もう一方の辞書のキーと値を、最初の辞書の中に入れるということです。例えば

orig = {
   'A': 1,
   'B': 2,
   'C': 3,
}

extra = {
   'D': 4,
   'E': 5,
}

dest = # Something here involving orig and extra

print dest
{
   'A': 1,
   'B': 2,
   'C': 3,
   'D': 4,
   'E': 5
}

このすべてを実現できるのは for のループがありますが、辞書や他のモジュールでこの作業を省いてくれる方法はないでしょうか?実際に使っている辞書はとても大きいので...。

どのように解決するのですか?

以下のことが可能です。

orig.update(extra)

を必要としない場合、または orig を変更する場合は、まずコピーを作成します。

dest = dict(orig)  # or orig.copy()
dest.update(extra)

extraとorigが重複するキーを持つ場合,最終的な値はextraから取得されることに注意してください.例えば

>>> d1 = {1: 1, 2: 2}
>>> d2 = {2: 'ha!', 3: 3}
>>> d1.update(d2)
>>> d1
{1: 1, 2: 'ha!', 3: 3}