Seite 1 von 1

Dictionary: Default Wert?

Verfasst: Donnerstag 26. Oktober 2006, 14:21
von 7crystal7
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

Verfasst: Donnerstag 26. Oktober 2006, 14:40
von jens
Greif doch mit .get() drauf zu...

Verfasst: Donnerstag 26. Oktober 2006, 14:44
von 7crystal7
ähm, bin leider noch newbie, verstehe nicht ganz was Du meinst? Kannst Du mir ein Code Beispiel geben bitte.

Danke
Babsi

Verfasst: Donnerstag 26. Oktober 2006, 15:02
von 7crystal7
danke, hab was gefunden

return dic.get(tld, False)

danke
babsi

Verfasst: Donnerstag 26. Oktober 2006, 17:12
von 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')

Verfasst: Donnerstag 26. Oktober 2006, 20:57
von birkenfeld
Das geht ab Python 2.5 mit collections.defaultdict.