So kehren Sie einen String um in Python (5 Methoden)

⚡ Intelligente Zusammenfassung

Reversing a string in Python verwendet fünf bewährte Techniken: eine for-Schleife, eine while-Schleife, die Slice-Notation [::-1], die reversed()-Funktion und Rekursion. LessDie Abschnitte umfassen Syntax, Codebeispiele, Ausgabe und Leistungsbenchmarks.

  • 🔁 Für Schleife: Zeichen durchlaufen und verketten.
  • 🔂 While-Schleife: Index verringern und Zeichen anhängen.
  • Zerschneiden [::-1]: Schnellste Methode, etwa 7x schneller als die Umkehrung der Liste.
  • 📦 reversed() + join: Speicherfreundlicher Iterator für große Zeichenketten.
  • 🔄 Rekursion: Die Schleife läuft rekursiv auf string[1:], bis sie leer ist.
  • 🤖 KI-Refaktorierung: KI wandelt Schleifen in Slicing um.

Reverse eine Zeichenkette in Python

Ein String ist eine geordnete Liste oder eine Folge von Zeichen. Strings sind eine der Datenstrukturen, die mit Python. Da Sie mit Zeichenfolgen arbeiten in Python, möchten Sie vielleicht alle Zeichen umkehren. Ein gutes Beispiel wäre, wenn Sie ein Palindrom-Spiel erstellen.

Bei einer umgekehrten Zeichenfolge ist das erste Zeichen das letzte Zeichen und so weiter. Python verfügt nicht über eine integrierte Funktion zum Umkehren von Zeichenfolgen, es gibt jedoch Methoden, die Sie verwenden können.

In diesem Tutorial lernen Sie verschiedene Methoden zum Umkehren der Zeichenfolge in Python.

Methode 1: Reverse Zeichenfolge in Python Verwenden einer For-Schleife

Die erste Methode zum Umkehren von Zeichenfolgen ist die Verwendung einer for-Schleife wie im folgenden Codeausschnitt:

Python Code:

# function for reversing a string
def reverse_string(string):
    # an empty string for storing reversed string
    reversed_string = ""
    # looping through the string
    for char in string:
        # reversing the string
        reversed_string = char + reversed_string
    # returning a reversed string
    return reversed_string

# the string to reverse
string = "Guru99"
# printing a message
print(f"String Reversal using a for loop")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse_string(string)}")

Ausgang:

String Reversal using a for loop
Original String: Guru99
Reversed String: 99uruG

Code Erläuterung:

  • In diesem Codeausschnitt können wir verwenden reverse_string() Funktion zur String-Umkehr unter Annahme eines gegebenen Werts Schnur als Argument.
  • Darin können wir eine leere Zeichenkette erstellen, um die umgekehrte Zeichenkette zu speichern, dann sind wir bereit.ping durch die Schnur.
  • Die Zeichen werden umgekehrt und dem zugewiesen reversed_string variabel.
  • Schließlich gibt die letzte Zeile der Funktion die umgekehrte Zeichenfolge zurück.
  • Um die Ausgabe anzuzeigen, führen Sie einen Funktionsaufruf innerhalb von durch drucken() Funktion mit Hilfe eines F-Strings.

Methode 2: Reverse Zeichenfolge in Python Verwenden einer While-Schleife

Verwendung eines while-Schleife in Python wäre auch eine andere Methode zum Umkehren einer Zeichenfolge. Lassen Sie uns den folgenden Codeausschnitt verstehen:

Python Code:

# declaring a string to reverse
string = "Python"
# initializing an empty string to store the reversed string
reversed_string = ""
# printing a message
print(f"String Reversal using a while loop")
# printing the original string
print(f"Original String: {string}")
# find length of a string and store in count variable
count = len(string)
# a while loop for looping through the string characters
while count > 0:
    # save the value of str[count-1] in reversed_string
    reversed_string += string[count - 1]
    # decrementing index
    count = count - 1
print(f"Reversed String: {reversed_string}")

Ausgang:

String Reversal using a while loop
Original String: Python
Reversed String: nohtyP

Code Erläuterung:

  • In dieser Python Code deklarieren wir eine Zeichenfolge, die umgekehrt werden soll, und dann eine leere Zeichenfolge zum Speichern der umgekehrten Zeichenfolge.
  • Wir ermitteln dann die Stringlänge, die dem zugewiesen ist zählen variabel.
  • Das string[Anzahl – 1] Ruft in jeder Iteration die Zeichenfolgenzeichen vom letzten bis zum ersten ab.
  • Und verkettet sie zu reversed_string und dekrementiert dann die zählen Wert.
  • Zum Schluss drucken wir die umgekehrte Zeichenfolge.

Kloping funktioniert, aber PythonDer Slice-Operator von 's ist wesentlich prägnanter.

Methode 3: Python Reverse Zeichenkette mit Slicer OperaDo.

Eine weitere Methode zum Umkehren einer Zeichenfolge ist die Verwendung eines Slice-Operators. Um dies zu verstehen, sehen Sie sich den folgenden Code an:

Python Code:

# function to reverse a string
def reverse(string):
    # the  slice syntax
    reversed_string = string[::-1]
    return reversed_string

# declaring a string to reverse
string = "Let's guru99"
# printing a message
print(f"String Reversal using Slicer Operator")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Ausgang:

String Reversal using Slicer Operator
Original String: Let's guru99
Reversed String: 99urug s'teL

Code Erläuterung:

  • So erstellen Sie ein umkehren() Funktion, die a dauert Schnur als Argument darin
  • In diesem Beispiel haben wir eine string[::-1] Slice-Operator zum Umkehren der Schnur
  • Dann wird die umgekehrte Zeichenfolge einer neuen Variablen namens zugewiesen reversed_string
  • Schließlich wird die neue umgekehrte Zeichenfolge zurückgegeben

Methode 4: Reveinen String in Python Verwenden der Funktion reversed()

Wir können eine Zeichenfolge auch mit a umkehren rückgängig gemacht() Python Funktion würde der Code wie folgt aussehen:

Python Code Ejemplo:

# function to reverse a string
def reverse(string):
    # reversed() function inside the join() function
    string = "".join(reversed(string))
    # returning the reversed string
    return string

# declaring a string to reverse
string = "guru99"
# printing a message
print(f"String Reversal using reversed() function")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Ausgang:

String Reversal using reversed() function
Original String: guru99
Reversed String: 99urug

Code Erläuterung:

  • In diesem Code haben wir eine rückgängig gemacht() Funktion, deren Argument a ist Schnur.
  • Darin haben wir eine leere Zeichenfolge initialisiert.
  • Wir verketten es mit der Ausgabe von umgekehrt (Zeichenfolge) Verwendung der beitreten() Funktion.
  • Außerhalb von rückgängig gemacht() Mit dieser Funktion haben wir einen String zum Umkehren deklariert und geben dann den ursprünglichen String und den umgekehrten String aus.

Methode 5: Python Reverse Zeichenkette mithilfe von Rekursion

Rekursion bedeutet, dass eine definierte Funktion sich selbst aufruft. Eine rekursive Funktion wird als rekursiv bezeichnet, wenn sie sich selbst aufruft. Um es besser zu verstehen, sehen Sie sich das folgende Codebeispiel an:

Python Code:

# a function to reverse a string
def reverse(string):
    # Checking the length of string
    if len(string) == 0:
        return string
    # reversing string if len(string) != 0
    else:
        # recursively calling the reverse() function
        return reverse(string[1:]) + string[0]

# declaring a string to reverse
string = "I love guru99"
# printing a message
print(f"String Reversal using Recursion")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

Ausgang:

String Reversal using Recursion
Original String: I love guru99
Reversed String: 99urug evol I

Code Erläuterung:

  • Im obigen Code haben wir a deklariert umkehren () Funktion, die a dauert Schnur Als Argument ist der Funktionskörper ein wenn sonst Aussage.
  • Das if Die Anweisung prüft, ob die Zeichenfolgenlänge 0 entspricht, und gibt die Zeichenfolge zurück, während die sonst Anweisung ruft die auf umkehren() Funktion rekursiv, zerschneidet den letzten Index der Zeichenfolge und fügt ihn am Anfang hinzu.

Häufig gestellte Fragen

Das Slicing von [::-1] ist am schnellsten. Benchmarks zeigen, dass es etwa 7-mal schneller ist als das Umkehren der Liste und 83-mal schneller als Rekursion.

Ja. KI wandelt die Umkehrung einer for-Schleife in Slicing um und erklärt reversed() im Vergleich zu [::-1].

KI-Tools warnen davor, dass += in einer Schleife O(n^2) ist und empfehlen stattdessen join oder slicen.

Ein verzögerter Iterator, keine neue Zeichenkette. Verwenden Sie ”.join(reversed(s)), um die umgekehrte Zeichenkette bei Bedarf zu erzeugen.

Selten. Rekursion ist elegant, aber langsam und stößt auf Probleme. PythonDie standardmäßige Rekursionsgrenze von 1000 Frames für lange Zeichenketten wird von 's verwendet. Verwenden Sie Slicing in realem Code.

Nein. Zeichenketten sind unveränderlich in PythonDie Umkehrung gibt eine neue Zeichenkette zurück. Die ursprüngliche Variable behält ihren Wert, solange ihr kein neuer Wert zugewiesen wird.

Verwenden Sie `split`, kehren Sie die Liste um und fügen Sie dann `join` hinzu: `' '.join(sentence.split()[::-1])`. Dadurch wird die Wortreihenfolge umgekehrt, die Rechtschreibung bleibt jedoch erhalten.

Nicht immer. Zusammengesetzte Emojis und Zeichenkombinationen können sich trennen. Verwenden Sie für eine graphemsichere Umkehrung vor der Umkehrung den regulären Ausdruck `findall(r'\X', s)`.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: