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

Dictionary: Default Wert?

Beitragvon 7crystal7 » 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: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » 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

Beitragvon 7crystal7 » 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

Beitragvon 7crystal7 » Donnerstag 26. Oktober 2006, 15:02

danke, hab was gefunden

return dic.get(tld, False)

danke
babsi
BlackJack

Beitragvon 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

Beitragvon birkenfeld » Donnerstag 26. Oktober 2006, 20:57

Das geht ab Python 2.5 mit collections.defaultdict.

Wer ist online?

Mitglieder in diesem Forum: Bananasplit, Bing [Bot]