Einführung
Dictionaries sind eine grundlegende Datenstruktur in Python und werden verwendet, um Schlüssel-Wert-Paare zu speichern. Manchmal müssen wir die Werte von zwei oder mehr Dictionaries zu einem einzelnen Dictionary kombinieren. In dieser Herausforderung werden Sie eine Funktion schreiben, die zwei oder mehr Dictionaries als Argumente nimmt und ein neues Dictionary zurückgibt, das die Werte der Eingabedictionaries kombiniert.
Dictionary-Werte kombinieren
Schreiben Sie eine Funktion combine_values(*dicts), die zwei oder mehr Dictionaries als Argumente nimmt und ein neues Dictionary zurückgibt, das die Werte der Eingabedictionaries kombiniert. Die Funktion sollte die folgenden Schritte ausführen:
- Erstellen Sie ein neues
collections.defaultdictmitlistals Standardwert für jeden Schlüssel. - Iterieren Sie über die Eingabedictionaries und für jedes Dictionary:
- Iterieren Sie über die Schlüssel des Dictionaries.
- Fügen Sie den Wert des Schlüssels zur Liste der Werte für diesen Schlüssel im
defaultdicthinzu.
- Konvertieren Sie das
defaultdictin ein reguläres Dictionary mit derdict()-Funktion. - Geben Sie das resultierende Dictionary zurück.
Die Funktion sollte die folgende Signatur haben:
def combine_values(*dicts):
pass
from collections import defaultdict
def combine_values(*dicts):
res = defaultdict(list)
for d in dicts:
for key in d:
res[key].append(d[key])
return dict(res)
d1 = {'a': 1, 'b': 'foo', 'c': 400}
d2 = {'a': 3, 'b': 200, 'd': 400}
combine_values(d1, d2) ## {'a': [1, 3], 'b': ['foo', 200], 'c': [400], 'd': [400]}
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie die Werte von zwei oder mehr Dictionaries zu einem einzelnen Dictionary kombinieren. Sie haben eine Funktion geschrieben, die zwei oder mehr Dictionaries als Argumente nimmt und ein neues Dictionary zurückgibt, das die Werte der Eingabedictionaries kombiniert.