Strings verketten (appending)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
StefanM
User
Beiträge: 2
Registriert: Mittwoch 17. August 2022, 20:38

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
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

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?
Antworten