Strings sind in Python immutable, d.h. Du kannst sie nicht ändern. Jede Operation auf einem String erzeugt ein *neues* String-Objekt. Insofern machst Du das schon richtig, dass Du das `i` überschreibst.
Die "Liste" wird natürlich nicht aktualisiert - das Objekt hinter `i` weiß ja gar nicht, dass es aus einer Liste stammt
Wenn, musst Du schon den Index kennen und den Eintrag der Liste an dieser Stelle überschreiben. Einen solchen Index liefert Dir die `enumerate`-Funktion. (Achtung: Ggf. ist Deine vermeintliche Liste gar keine und Du kannst dort nicht einfach etwas überschreiben - der Name `filelines` legt das nahe; sofern es sich um ein File-Object handelt)
In Python geht man aber meist eher so vor, dass Du eine *neue* Liste erzeugst, welche Du entsprechend mit korrigierten Elementen aufbaust.
Der Name `filelines` legt nahe, dass diese Zeilen aus einer Textdatei stammen. Dann kannst Du *direkt* über ein file-Objekt iterieren und die Zeilen behandeln:
Code: Alles auswählen
with open(filename) as infile:
lines = [line.strip() for line in infile]
`strip` entfernt Whitespaces am Ende eines Strings - reicht Dir das?
Je nach dem, was Du mit den Zeilen vor hast, musst Du diese auch nicht unbedingt in eine Liste packen, sondern könntest sie auch direkt weiterverarbeiten... aber dafür wissen wir nicht genug über Deinen Anwendungsfall