Seite 1 von 1

Strings verketten (appending)

Verfasst: Donnerstag 18. August 2022, 20:36
von StefanM
Hallo,

mittels einer for-Schleife ermittele ich einen Wert und möchte diesen gern in einer neuen Variable zwischenspeichern.
Die neue Variable soll jedoch nach jedem Durchgang mit dem neuen String-Wert erweitert werden.

Die Variable, deren Wert in der for-Schleife ermittelt wird, heißt in diesem Beispiel zeile
Die andere Variable, die gefüllt wird, heißt ziel.

Beispiel:
Im ersten Durchgang ist der String namens zeile: "wert1".
Im 2. Durchgang ist der String: "test",
also müsste der Inhalt der Variable ziel dieser sein:

wert1
test


Das hier klappt logischerweise nicht, da es ja immer überschrieben wird:
ziel = zeile + "\n"

Mein Ziel ist es, die Variable ziel am Ende in eine Datei auszulagern.
(Es wird auch nicht jeder Wert in der for-Schleife genommen - da gibt es noch einige ifs und elifs)

P.S:
Vielleicht sowas wie: ziel += zeile + "\n" ?
Ich kann es leider erst morgen testen...

Danke für jede Hilfe

Re: Strings verketten (appending)

Verfasst: Donnerstag 18. August 2022, 20:43
von sparrow
Das sind zwei verschiedene Sachen.

Zeichenketten fügt man nicht mit + zusammen sondern verwendet die Methode .join(), die Zeichenketten zur Verfügung stellen. Und vorher sammelst du alles in einer iterierbaren Datenstruktur:

Code: Alles auswählen

>>> words = ["The", "monkey", "rides", "the", "pen"]
>>> " ".join(words)
'The monkey rides the pen'
>>> 
Aber das ist eigentlich gar nicht die Lösung für dein Grundproblem.
Warum willst du denn alles in einer Variablen speichern, bevor du es in die Datei schreibst? Was machst du, wenn die Datei größer ist, als dein Arbeitsspeicher? Warum schreibst du nicht direkt in die Datei?