Das Schreiben einer if-Anweisung, um zu überprüfen, ob ein Schlüssel im Wörterbuch existiert, und dann darauf zuzugreifen, kann sich wiederholen und lästig sein. Diese wiederholten Prüfungen können vermieden werden, indem man sicher über die .get()-Methode auf die Elemente zugreift:
# Stellen wir uns vor, wir haben ein großartiges Team für ein Startup
team = {
'HR': ['John Smith', 'Taylor Vu'],
'Designers': ['Garry Tan'],
'Developers': ['Linus Torvalds', 'Yegor Bugayenko'],
}
if 'HR' in team:
print(team['HR'])
else:
print([])
if 'QA' in team:
print(team['QA'])
else:
print([])
Hier greifen wir auf das team-Wörterbuch mit der .get()-Methode zu, wobei wir den Schlüssel als ersten Parameter (HR oder QA) und einen Standardwert als zweiten Parameter angeben (in diesem Beispiel eine leere Liste).
Ein weiteres Beispiel könnte der Zugriff auf ein Wörterbuch mit einem Standardwert wie einer Zahl oder einem String sein: population.get('China', '~1.5 Billion'). Wenn der Schlüssel China im Wörterbuch population existiert, gibt das Programm den entsprechenden Wert zurück. Aber wenn China nicht im population-Wörterbuch vorhanden ist, gibt das Programm '~1.5 Billion' zurück.
Herausforderung
Ein Antonym-Wörterbuch enthält Wörter mit entgegengesetzten Bedeutungen. Gegeben sind n Antonym-Wortpaare. Sie sollen die q Antonyme für die folgenden q Wörter ausgeben und Not found, wenn diese Wörter nicht in der anfänglichen Liste enthalten sind. Es ist garantiert, dass die Wörter in den Antonym-Paaren eindeutig sind.
Die erste Zeile der Eingabe enthält eine einzelne Ganzzahl n, die die Anzahl der Antonym-Paare angibt. Die nächsten n Zeilen enthalten zwei durch ein Leerzeichen getrennte Wörter, die die Antonym-Paare darstellen. Die nächste Zeile enthält eine einzelne Ganzzahl q – die Anzahl der Abfragewörter. Die nächsten q Zeilen enthalten jeweils ein einzelnes Wort.
Das Programm soll q Zeilen ausgeben. Jede Zeile soll das Antonym oder Not found enthalten, wenn das Antonym nicht in der anfänglichen Liste vorhanden ist.
Eingabe
Ausgabe
5
warm cold
sunny cloudy
fast slow
tired energetic
love hate
3
warm
hate
potato