それは簡単な作業のようです:
値を上書きせずに 2 つの辞書をマージしようとしていますが、追加しています。
a = {1: [(1,1)],2: [(2,2),(3,3)],3: [(4,4)]}
b = {3: [(5,5)], 4: [(6,6)]}
タプル数 a = 4、タプル数 b = 2
これが、これらのオプションが上書きされているため、これらのオプションを除外した理由です。
all = dict(a.items() + b.items())
all = dict(a, **b)
all = a.update([b])
次の解決策は問題なく機能しますが、元の辞書 a にも値を追加します。
all = {}
for k in a.keys():
if k in all:
all[k].append(a[k])
else:
all[k] = a[k]
for k in b.keys():
if k in all:
all[k].append(b[k])
else:
all[k] = b[k]
出力 =
a = {1: [(1, 1)], 2: [(2, 2), (3, 3)], 3: [(4, 4), **[(5, 5)]**]}
b = {3: [(5, 5)], 4: [(6, 6)]}
c = {1: [(1, 1)], 2: [(2, 2), (3, 3)], 3: [(4, 4), [(5, 5)]], 4: [(6, 6)]}
タプル数 a = 5!!!!! 、タプル数 b = 2 (正解)、タプル数 all = 6 (正解)
[(5,5)]
b から a にタプルを追加しました。私がコーディングしているのはすべてを完全な辞書「all」に書き込むことだけなので、なぜこれが起こるのかわかりません。
誰でも dict(a) を変更している場所を教えてもらえますか???????
どんな助けでも大歓迎です。