Python verfügt über eine sehr nützliche Sammlung von Datenstrukturen in einem seiner Module namens collections. Eine dieser Datenstrukturen ist ein Wörterbuch mit einem Standardwert – defaultdict.
Beim Erstellen eines defaultdict können wir eine Lambda-Funktion übergeben, die einen Standardwert für fehlende Elemente zurückgibt:
d = defaultdict(lambda: 'This item does not exist')
d['Anna'] = 10
d['Bob'] = 9
print(d['Bob']) # 9
print(d[999]) # Dieses Element existiert nicht
Hier werden Anna und Bob zu den Schlüsseln des Wörterbuchs hinzugefügt, aber 999 ist nicht vorhanden, daher gibt das Programm This item does not exist aus.
Dies ist besonders nützlich, wenn man mit Listen als Werten arbeitet:
Bei gegebenen n Spielen von Fußballmannschaften und ihren Gegnern sollst du herausfinden, wie viele Spiele jede Mannschaft bestritten hat.
Die erste Zeile der Eingabe enthält eine einzelne ganze Zahl n – die Anzahl der Spiele. Die nächsten n Zeilen enthalten mit Bindestrich (-) getrennte Mannschaftsnamen, die gegeneinander gespielt haben. Die folgende Zeile enthält kommagetrennte ( , ) Namen der Vereine, für die das Programm die Anzahl der gespielten Spiele ausgeben soll.
Das Programm soll die Anzahl der Spiele, die jede der in der letzten Eingabezeile angeforderten Mannschaften gespielt hat, durch Leerzeichen getrennt ausgeben.
Eingabe
Ausgabe
3
Real Madrid-Barcelona
Chelsea-Manchester United
Arsenal-Barcelona
Manchester United,Barcelona,Roma