Listen in Listen Python?
ich wollte ein Programm schreiben, welches aus einem Text Dokument, alle Zeilen ausließt und jede Zeile einzeln in eine Liste einfügt, das hat perfekt funktioniert.
Dann bin ich aber einen Schritt weiter gegangen und wollte, das alles Wörter oder Sätze, die in einer Zeile stehen in einer Liste in einer Liste abgespeichert werden.
Hier die Hauptschleife des Programmes:
Hier die Datei Text.txt aus der die Zeilen ausgelesen werden sollen:
Ich wollte als Ausgabe: [[ '1', '2', '3'], [ 'a', 'b', 'c']]
Und das habe ich als Ausgabe bekommen: [[ 'a', 'b'], [ 'a', 'b']]
Das Problem ist das die Liste Liste in meinem Programm sich mit der Liste Liste in Zeilen aktualisiert, kann man das umgehen?
Vielen Dank für euere Antworten
2 Antworten
Erstmal vorne weg:
Wieso liest Du die Datei zweimal ein, das ist doch vollkommener Unfug, mache einfach ein:
for line in file.readlines():
Und ferner, warum nutzt Du nicht split()?
Anhand des Ausschnittes sehe ich nicht direkt, wo der Fehler liegt.
LingVu ist es aufgefallen, beides mal der gleiche Iterator.
Also, schreib das Ganze doch ein wenig pythonischer, dann kommst Du gar nciht erst in Verlegenheit ;-).
Danke, das werde ich mir auf jedenfall genauer anschauen.
Dann antworte ich dir auch das gleiche wie @LingVu, xD. Es macht keinen unterschied. Probieres es doch mal in der Shell aus.
So wie ich das sehe, hast du gar keine Liste deklariert. In Zeile 22 gibts einen aufruf einer Klasse, aber da sollte wahrscheinlich die Variablen deklaration stehen.
liste = []
Doch, das sit nur auf dem Bild nicht zusehen, auf dem Bild siehst du nur die HAuptschleife, die in Zeile 14 beginnt, davor habe ich die Listen deklariert also:
Liste = list()
Zeilen = list()
Probiere es mal in der Shell aus, es macht keinen Unterschied.
Man könnte das in etwa so machen:
Kurz und schmerzlos. Dinge wie Leerzeilen o.ä. werden nicht behandelt und die Fehlerbehandlung fehlt auch.