Seite 1 von 1
try
Verfasst: Freitag 2. September 2005, 09:45
von Gast
Hallo,
will ein dict verwenden. Falls ein Eintrag nicht in dem dict vorkommt will ich ihn auf '_' setzten.
wie macht man das?
Falls ein Eintrag nicht vorhanden ist gibt es eine Fehlermeldung. Das will ich vermeiden. Geht das mit try...
try: a=dict[tmp]
..?
Verfasst: Freitag 2. September 2005, 09:57
von CM
Hi
Na ja, es gibt verschiedene Möglichkeiten - je nachdem, was Du genau brauchst. Ganz einfach wäre z. B.:
Code: Alles auswählen
d = {1:'a'}
if d.has_key(1): #True
mache_irgendwas
else:
d[1] = '-'
Aber irgendwie klingt das für mich, als ob bei Deinem Beispiel noch mehr drinsteckt

. Hoffe es hilft Dir trotzdem weiter ...
Gruß,
Christian
edit:
PS: Bitte keine Schlüsselwörter von Python (wie dict) im Code verwenden, denn sonst überschreibst Du deren Funktionalität und machst Dir bloß unnötigen Ärger.
Re: try
Verfasst: Freitag 2. September 2005, 10:18
von Gast
Hi!
Gast hat geschrieben:will ein dict verwenden. Falls ein Eintrag nicht in dem dict vorkommt will ich ihn auf '_' setzten.
a = myDict.get(tmp,'_')
hth, joe
Verfasst: Freitag 2. September 2005, 10:20
von Gast
danke,
brauche dringend ein Buch... klappt super damit...
Verfasst: Freitag 2. September 2005, 11:44
von henning
Aber Achtung get setzt den Eintrag im dict nicht auf "_", wenn er nicht vorhanden ist, sondern gibt "_" nur zurück in diesem Fall!
Ich kann das Python Cookbook von Oreilly empfehlen, aber an sich ist Python so schön einfach

Gibt ja auch n paar gute Tutorials im Netz, und mit code lesen -- code schreiben hab ich python schneller gelernt, als es mit jedem Buch Möglich gewesen wäre...
Verfasst: Freitag 2. September 2005, 22:40
von BlackJack
henning hat geschrieben:Aber Achtung get setzt den Eintrag im dict nicht auf "_", wenn er nicht vorhanden ist, sondern gibt "_" nur zurück in diesem Fall!
In dem Fall ist `setdefault()` geeignet:
Code: Alles auswählen
In [3]: a = dict()
In [4]: a.setdefault('spam', '_')
Out[4]: '_'
In [5]: a
Out[5]: {'spam': '_'}