Seite 1 von 1

string in liste umwandeln

Verfasst: Mittwoch 15. Februar 2006, 18:29
von Kathrin
Hallo an alle!

Ich habe meinen string:

Code: Alles auswählen

string = str(["text\\to", "split"])
Den möchte ich in eine liste packen, so dass ich eine liste:

Code: Alles auswählen

liste = ["text\\to", "split"]
habe. Es gibt aber mit dem "\\" Probleme.
Ich habs folgendermaßen versucht:

Code: Alles auswählen

string = string.replace('[', '')
string = string.replace(']', '')
string = string.replace('\"', '')
string = string.replace('\'', '')
print string
>> text\\to, split
liste = string.split(", ")
print liste
>>['text\\\\to', 'split']   # und nicht ['text\\to', 'split']
Ich weiß, dass jedes "\" maskiert wird, ich also eins in meinem string entfernen muss ... das geht mit

Code: Alles auswählen

string = string.replace('\\', '\')
aber nicht.
Kann mir jemand helfen wie ich meine liste richtig hinbekomme? Vielleicht gehts ja auch enfacher, das mit dem häufgen replace kommt mir eh ein bisschen komisch vor.

Danke für Hilfe,
Kathrin

Verfasst: Mittwoch 15. Februar 2006, 19:19
von modelnine
Probier mal:

Code: Alles auswählen

eval(string)

Re: string in liste umwandeln

Verfasst: Donnerstag 16. Februar 2006, 08:00
von jens
Kathrin hat geschrieben:

Code: Alles auswählen

print liste
>>['text\\\\to', 'split']   # und nicht ['text\\to', 'split']
Naja, du könntest es auch einfach "zurück" wandeln:

Code: Alles auswählen

liste = [i.replace("\\\","\") for i in liste]

Verfasst: Donnerstag 16. Februar 2006, 10:45
von Kathrin
Danke, jetzt klappt's! :D