Seite 1 von 1

string in list spalten

Verfasst: Freitag 16. Mai 2014, 02:45
von Kamik423
hallo, ich habe einen string

Code: Alles auswählen

"['main screen', 'dummy']"
und möchte das in eine list spalten

Code: Alles auswählen

["main screen","dummy"]
mein code

Code: Alles auswählen

 a=a.replace("['","").replace("]'","").split("', '")
gibt mir

Code: Alles auswählen

['main screen', "dummy']\n"]
warm :?: :!: ? und wie löse ich es?

es scheint am split zu liegen, aber ich weiß nicht warum.

Hilfe wäre großartig!

##EDIT!
es ist eine liste! nur hängt es irgendwie /n ans ende. danke an jeden der helfen wollte

mein Code:

Code: Alles auswählen

temp=temp.replace("['","").replace("]","").replace("'","").split(", ")
temp[len(temp)-1]=temp[len(temp)-1].replace("\n","")
könnte ich das noch irgendwie vereinfachen?
Danke

Re: string in list spalten

Verfasst: Freitag 16. Mai 2014, 06:22
von snafu

Code: Alles auswählen

>>> s = "['main screen', 'dummy']"
>>> s[2:-2].split("', '")
['main screen', 'dummy']
Wie kommt es eigentlich, dass dir die Daten in diesem Format vorliegen? Das sieht ja verdächtig nach Python-Code aus.

EDIT: Wenn man es wirklich ordentlich machen will:

Code: Alles auswählen

>>> import ast
>>> ast.literal_eval(s)
['main screen', 'dummy']

Re: string in list spalten

Verfasst: Freitag 16. Mai 2014, 09:33
von BlackJack
@Kamik423: Um noch mal auf die erste Frage von snafu einzugehen: Wenn der Code der diese Zeichenkette produziert hat von Dir ist, dann ändere das. Python-Code zu erzeugen und zu parsen ist keine gute Idee. So etwas wie JSON ist mit dem `json`-Modul aus der Standardbibliothek einfach zu handhaben, sicher, und dazu auch noch ein Format das mit vielen Programmiersprachen verwendet werden kann.

Re: string in list spalten

Verfasst: Freitag 16. Mai 2014, 15:12
von Kamik423
Ein anderer code hat variablen als string geparst und in eine txt datei gespeichert. Der code ist aber universell, D.H. Es würde auch ints oder strings speichern.
Was sind diese json und literal eval module?
Und vielen dank schon mal

Re: string in list spalten

Verfasst: Freitag 16. Mai 2014, 15:36
von BlackJack
@Kamik423: Ich glaube parsen bedeutet etwas anderes als Du denkst. Nochmal: Zeichenkettendarstellungen von Python-Datentypen sind keine vernünftige Art Daten zu speichern.

Was das `json`-Modul und das `ast`-Modul sind, kannst Du in der Dokumentation nachlesen.

Re: string in list spalten

Verfasst: Freitag 16. Mai 2014, 15:49
von /me
Kamik423 hat geschrieben:Ein anderer code hat variablen als string geparst und in eine txt datei gespeichert.
Dieser andere Code hat die Daten nicht geparst, der hat einfach die als String vorliegende Debug-Darstellung der Liste ausgegeben.
Kamik hat geschrieben:Der code ist aber universell
Ohne den Code gesehen zu haben, aber mit 30 Jahren Programmiererfahrung: Der Code ist Mist.