Dictionary: Default Wert?

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
7crystal7
User
Beiträge: 46
Registriert: Freitag 26. Mai 2006, 18:50

Hi Leute,

ich habe folgende Funktion die als Eingabe eine TopLevelDomain als String verlangt:

Code: Alles auswählen

def synchronous_domains(tld):
  dic = {"biz":True,
	 "com":True,
	 "net":True,
	 "eu":True,
	 "info":True,
	 "name":True,
	 "tv":True,
	 "cc":True,
	 "org":True,
	 "ws":True}
  return dic[tld]
Wenn ich z.B. "de" oder eine Domain übergebe die nicht im Dictionary ist bekomme ich einen Fehler. Kann ich dort einen Default Wert setzen für alles andere was nicht im dictionary enthalten ist und dafür False zurückgibt?

Danke
Babsi
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Greif doch mit .get() drauf zu...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
7crystal7
User
Beiträge: 46
Registriert: Freitag 26. Mai 2006, 18:50

ähm, bin leider noch newbie, verstehe nicht ganz was Du meinst? Kannst Du mir ein Code Beispiel geben bitte.

Danke
Babsi
7crystal7
User
Beiträge: 46
Registriert: Freitag 26. Mai 2006, 18:50

danke, hab was gefunden

return dic.get(tld, False)

danke
babsi
BlackJack

Die Funktion kann man auch so scheiben:

Code: Alles auswählen

def is_synchronous_domain(tld):
    return tld in ('info', 'ws', 'name', 'tv', 'cc',
                   'biz', 'eu', 'org', 'net', 'com')
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Das geht ab Python 2.5 mit collections.defaultdict.
Antworten