Map Vergleic Error

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Python20134
User
Beiträge: 2
Registriert: Montag 29. September 2014, 17:45

Hallo,

Ich habe eine Map erstellt und möchte diese wie folgt bearbeiten:

Code: Alles auswählen

if(map[land]):
  return map[land]
else: 
  return "nicht enthalten"
Bei mir kommt dann immer eine Fehlermeldung, weil er, wenn ich z.B. ein falsches land eingebe, die entsprechende Hauptstadt nicht findet. Habt ihr eine Idee, wie ich das anderst lösen kann?
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

map ist ein sehr unglücklicher Name für einen Bezeichner, da dieser das eingebaute map überschreibt. Nehmen wir also an, dein Dictionary hieße data. Die Abfrage, ob ein Key in diesem Dictionary enthalten ist sieht dann wie folgt aus.

Code: Alles auswählen

if land in data:
    [...]
Die ganze Funktion lässt sich aber noch einfacher gestalten indem du die get-Methode des Dictionaries nutzt und einen Default-Wert mitgibst der herangezogen wird, wenn der Key nicht existiert.

Code: Alles auswählen

return data.get(land, 'nicht enthalten')
Zuletzt geändert von /me am Mittwoch 22. Oktober 2014, 11:54, insgesamt 2-mal geändert.
Python20134
User
Beiträge: 2
Registriert: Montag 29. September 2014, 17:45

map sollte nur zur Veranschaulichung dienen, meine Map heißt LändewrHauptstadt. Und vielen Dank für die Info! :D
Antworten