Warum kann ich Zeichen in einer Python-Zeichenfolge nicht direkt mithilfe der Indexzuweisung ersetzen?

Susan Sarandon
Freigeben: 2024-11-20 14:41:16
Original
323 Leute haben es durchsucht

Why Can't I Directly Replace Characters in a Python String Using Index Assignment?

Zeichen in der Zeichenfolge können nicht mithilfe der Indexzuweisung ersetzt werden

Beachten Sie den folgenden Codeausschnitt, der versucht, an bestimmten Positionen darin Semikolons durch Doppelpunkte zu ersetzen eine Zeichenfolge:

for i in range(0,len(line)):
     if (line[i]==";" and i in rightindexarray):
         line[i]=":"
Nach dem Login kopieren

Dieser Code schlägt jedoch mit einem TypeError fehl, was darauf hinweist, dass str Objekte unterstützen keine Elementzuordnung. Dies liegt daran, dass Zeichenfolgen in Python unveränderlich sind, was bedeutet, dass ihr Inhalt nicht direkt geändert werden kann.

Überwindung des Problems

Um Zeichen innerhalb einer Zeichenfolge zu ersetzen, können Sie die verwenden Methode replace():

line = line.replace(';', ':')
Nach dem Login kopieren

Diese Methode ersetzt alle Vorkommen des angegebenen Zeichens (';') durch das neue Zeichen (':').

Selektive Ersetzung

Wenn Sie nur bestimmte Zeichen ersetzen möchten, können Sie String-Slicing verwenden, um den gewünschten Abschnitt der Zeichenfolge zu isolieren ändern:

line = line[:10].replace(';', ':') + line[10:]
Nach dem Login kopieren

Dieser Code ersetzt alle Semikolons in den ersten 10 Zeichen des string.

Beispiel

Mit dem obigen Code wird die Zeichenfolge „Hei der! ; Hello there ;!;“ erstellt, wobei das rightindexarray die Indizes der gewünschten Ersetzungen enthält ([ 3, 13]), würde in „Hei der! : Hallo da :!;“ umgewandelt werden.

Das obige ist der detaillierte Inhalt vonWarum kann ich Zeichen in einer Python-Zeichenfolge nicht direkt mithilfe der Indexzuweisung ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage