宿題の助けが少し必要です。複数の辞書を組み合わせて新しい辞書にする関数を書かなければなりません。キーが複数回表示される場合。新しいディクショナリのそのキーに対応する値は、一意のリストである必要があります。例として、これは私がこれまでに持っているものです:
f = {'a': 'apple', 'c': 'cat', 'b': 'bat', 'd': 'dog'}
g = {'c': 'car', 'b': 'bat', 'e': 'elephant'}
h = {'b': 'boy', 'd': 'deer'}
r = {'a': 'adam'}
def merge(*d):
newdicts={}
for dict in d:
for k in dict.items():
if k[0] in newdicts:
newdicts[k[0]].append(k[1])
else:
newdicts[k[0]]=[k[1]]
return newdicts
combined = merge(f, g, h, r)
print(combined)
出力は次のようになります。
{'a':['apple'、'adam']、'c':['cat'、'car']、'b':['bat'、'bat'、'boy']、'e' :['象']、'd':['犬'、'鹿']}
「b」キーの下に、「bat」が2回表示されます。重複を削除するにはどうすればよいですか?
私はフィルター、ラムダの下を見ましたが、どのように使用するかを理解できませんでした(多分b / cそれは辞書のリストですか?)
どんな助けでもいただければ幸いです。そして、すべてのあなたの助けに前もって感謝します!