Seite 1 von 1
Liste aus String?
Verfasst: Dienstag 21. Oktober 2008, 17:59
von Brok
Hallo
habe einen string der z.B. so aussieht.
wie krieg ich die integer Werte in eine Liste ?
Grüße und noch einen schönen Fußballabend !
Verfasst: Dienstag 21. Oktober 2008, 18:12
von Leonidas
Reguläre Ausdrücke? ``(\d+?)`` könnte das sein was du suchst.
Fußball? Wie, wo, was?
Verfasst: Dienstag 21. Oktober 2008, 18:15
von numerix
Muss der String so aussehen? Ich vermute mal, dass da vorher schon was nicht optimal gemacht wurde ...
Ansonsten:
Code: Alles auswählen
>>> s = "['103', '35235', '342362362', '2']"
>>> [int(t.strip()[1:-1]) for t in s[1:-1].split(",")]
[103, 35235, 342362362, 2]
Verfasst: Dienstag 21. Oktober 2008, 19:54
von name
Hatten wir sowas nicht
schon vor kurzem?
Verfasst: Dienstag 21. Oktober 2008, 21:05
von abgdf
Von hinten durch die Brust ins Auge:
Code: Alles auswählen
#!/usr/bin/env python
import os
string = "['103', '35235', '342362362', '2']"
f = open("temp", "w")
f.write("a = " + string + "\n")
f.write("for i in a: print i\n")
f.close()
os.chmod("temp", 0755)
f2 = os.popen("python ./temp")
mylist = f2.readlines()
f2.close()
for i in range(len(mylist)):
mylist[i] = int(mylist[i].rstrip("\n"))
for i in mylist:
print i
Kann man vielleicht "os.open()" auch irgendwie eine "virtuelle" Datei zuordnen, so daß man nicht gleicht wirklich auf die Festplatte zu schreiben braucht ?
Z.B. so eine Art Ramdisk einrichten ?
Gruß
Verfasst: Dienstag 21. Oktober 2008, 22:21
von numerix
Und hier noch der Einzeiler für die Freunde von eval() ...
Code: Alles auswählen
>>> [int(s) for s in eval("['103', '35235', '342362362', '2']")]
[103, 35235, 342362362, 2]
Verfasst: Mittwoch 22. Oktober 2008, 06:30
von Brok
Danke an alle !
Verfasst: Freitag 24. Oktober 2008, 09:19
von Poisos
@ abgdf
Vielleicht hilft das: Such' mal in der Python Hilfe nach "tempfile" oder "BufferedWriter".
Ich bin mit allerdings nicht sicher, ob es das ist, was Du willst!?