hilfe!!
ich habe einen string wie folgt:
'{'violett': ['purple'], 'blau': ['blue'], 'Haus': ['home', 'house'], 'Hand': ['hand']}'
sieht zwar aus wie ein dictionary, ist aber (leider) keiner
wie kann ich ihn in einen dictionary umwandeln???
string nach dictionary
Hi. Ganz einfach mit eval zum Interpreter schicken und schauen, was der davon meint
Milan

Code: Alles auswählen
d=eval("{'violett': ['purple'], 'blau': ['blue'], 'Haus': ['home', 'house'], 'Hand': ['hand']}")
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
oder mit regular expressions, falls Du kein eval verwenden willst.
Gruß
Dookie
Code: Alles auswählen
import re
s = "{'violett': ['purple'], 'blau': ['blue'], 'Haus': ['home', 'house'], 'Hand': ['hand']}"
d = dict([(y[0][0],[z.strip().strip("'") for z in y[0][1].split(",")]) for y in [re.findall("'(.*?)'\s*:\s*\[(.*?)\]", x) for x in re.findall("('.*?':\s*\[.*?\])",s)]])
Dookie