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

Donnerstag 26. Oktober 2006, 14:21

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
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 26. Oktober 2006, 14:40

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

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

Donnerstag 26. Oktober 2006, 14:44

ä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

Donnerstag 26. Oktober 2006, 15:02

danke, hab was gefunden

return dic.get(tld, False)

danke
babsi
BlackJack

Donnerstag 26. Oktober 2006, 17:12

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

Donnerstag 26. Oktober 2006, 20:57

Das geht ab Python 2.5 mit collections.defaultdict.
Antworten