Hallo Leute,
ich lese aus einem Textfile einen String
astring = [[8, 9, 12, 13], [0, 1], [3, 7], [5], [6], [18], [19]]
erkenntlich durch type(astring) ergibt <class 'str'>
benötige aber eine Liste die äußerlich genau so aussieht
alist = [[8, 9, 12, 13], [0, 1], [3, 7], [5], [6], [18], [19]]
aber mit type(alist) ergibt <class 'list'>.
alist = list(astring) macht eine Liste [‘[‘, ‘[‘, ‘8‘, ‘ ‘, ... usw.
Wie kann ich den String in die Liste umwandeln?
Für jede Hilfe herzlichen Dank
Strings und Listen
- pillmuncher
- User
- Beiträge: 1532
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Was du da hast ist vermutlich keine Text-Datei, sondern eine JSON-Datei. Dafür verwendet das json-Modul aus der Python Standard-Bibliothek:In dem Modul gibt es auch eine Funktion, mit der man direkt JSON-Dateien einlesen kann.
Code: Alles auswählen
>>> import json
>>> astring = "[[8, 9, 12, 13], [0, 1], [3, 7], [5], [6], [18], [19]]"
>>> alist = json.loads(astring)
>>> alist
[[8, 9, 12, 13], [0, 1], [3, 7], [5], [6], [18], [19]]
>>> type(alist)
<class 'list'>In specifications, Murphy's Law supersedes Ohm's.
- __blackjack__
- User
- Beiträge: 14238
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Wie ist die Datei denn entstanden? Falls das tatsächlich mal eine Python-Liste mit Zahlen war, die einfach mit `str()` in eine Zeichenkette umgewandelt und dann in eine Datei geschrieben wurde, dann sollte man an der Stelle besser auch das Programm anpassen, denn die Darstellung von Python-Datenstrukturen eignet sich nur sehr bedingt zur Datenspeicherung und zum Datenaustausch. Bei Listen mit Zahlen hat man Glück, dass das JSON-Arrays und -Zahlen sehr ähnlich ist, und man die meisten Werte als JSON lesen kann, aber selbst bei Zahlen hat das Grenzen.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
