Seite 1 von 1

Dictionary - Values zu Key updaten

Verfasst: Samstag 2. Mai 2009, 11:16
von ete
Hallo!

Ist es irgendwie möglich zu einem schon vorhandenen Schlüssel, einen weiteren Wert zuzufügen? Durch update wird ja das Schlüssel-Wert Paar überschrieben. Ich möchte aber nur den neuen Wert zum vorhandenen Schlüssel fügen, ohne den alten Wert zu verlieren.

Geht das mit dicts?

Lg
Stefanie

Verfasst: Samstag 2. Mai 2009, 11:45
von b.esser-wisser
Du kannst Listen als Werte benutzen - da kann man anhängen:

Code: Alles auswählen

#Alt:
my_dict = {"key1":"Hallo", 99123:None}
#Neu:
my_dict = {"key1":["Hallo"], 99123:[None]}
my_dict["key1"].append("Welt")
Du musst mit den Werten dann eben etwas anders umgehen.

hth, Jörg

Verfasst: Samstag 2. Mai 2009, 11:59
von lunar
Alternativ kopierst du eine der zahllosen MultiDict-Typen, die im Schatten diverser WSGI-Bibliotheken entstanden sind oder im Python-Cookbook als Snippets veröffentlicht wurden.

MultiDict-Implementierungen gibt es beispielsweise in Werkzeug und WebOb (eine Bibliothek aus dem Paste/Pylons-Umfeld). Beide Bibliotheken unterliegen liberalen Lizenzen, so dass das Kopieren der Klassen in den eigenen Code kein Problem darstellt, solange du die Copyright-Zeilen auch übernimmst.