Come invertire una stringa in Python (5 metodi)

Una stringa è un elenco ordinato o una sequenza di caratteri. Le stringhe sono una delle strutture dati fornite Python. Mentre lavori con le stringhe in Python, potresti voler invertire tutti i caratteri. Un buon esempio potrebbe essere quando stai creando un gioco palindromo.

Una stringa invertita ha il suo primo carattere come ultimo carattere e così via. Tuttavia, Python non è dotato di una funzione integrata per invertire le stringhe, ma sono metodi che puoi utilizzare.

In questo tutorial imparerai diversi metodi per invertire la stringa in Python.

Metodo 1: Revinserire la stringa Python utilizzando un ciclo For

Il primo metodo per invertire le stringhe utilizza un ciclo for come nello snippet di codice seguente:

Python Codice:

# 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)}")

Produzione:

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

Spiegazione del codice:

  • In questo frammento di codice, possiamo usare stringa_inversa() funzione per l'inversione della stringa prendendo un dato stringa come argomento.
  • Al suo interno, possiamo creare una stringa vuota per memorizzare la stringa invertita, quindi eseguire il loop della stringa.
  • I caratteri vengono invertiti e assegnati a stringa_invertita variabile.
  • Infine, l'ultima riga della funzione restituisce la stringa invertita.
  • Per visualizzare l'output, effettuare una chiamata funzionale all'interno del file stampare() funzione con l'aiuto di una f-string.

Metodo 2: Revinserire la stringa Python utilizzando un ciclo While

Utilizzando un mentre entri in loop Python sarebbe anche un altro metodo per invertire una stringa. Cerchiamo di comprendere lo snippet di codice riportato di seguito:

Python Codice:

# 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}")

Produzione:

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

Spiegazione del codice:

  • In questa Python codice, dichiariamo una stringa da invertire, quindi una stringa vuota per memorizzare la stringa invertita.
  • Stiamo quindi trovando la lunghezza della stringa assegnata a contare variabile.
  • Il stringa[conteggio – 1] in ogni iterazione recupera i caratteri della stringa dall'ultimo al primo.
  • E li concatena a stringa_invertita e poi decrementa il contare valore.
  • Infine, stiamo stampando la stringa invertita.

Metodo 3: Python Reverse String utilizzando Slicer Operator

Un altro metodo per invertire una stringa è utilizzare un operatore slice, per capirlo, vedere il codice seguente:

Python Codice:

# 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)}")

Produzione:

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

Spiegazione del codice:

  • Per creare un inversione() funzione che accetta a stringa come argomento, al suo interno
  • In questo esempio, abbiamo a stringa[::-1] operatore slice per invertire il stringa
  • Quindi la stringa invertita viene assegnata a una nuova variabile chiamata stringa_invertita
  • Infine, viene restituita la nuova stringa invertita

Metodo 4: Revinserendo una stringa Python utilizzando la funzione reversed()

Possiamo anche invertire una stringa usando a invertito () Python funzione, il codice sarebbe il seguente:

Python Esempio di codice:

# 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)}")

Produzione:

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

Spiegazione del codice:

  • In questo codice abbiamo a invertito () funzione il cui argomento è a stringa.
  • Al suo interno abbiamo inizializzato una stringa vuota.
  • Lo concateniamo con l'output di invertito(stringa) usando il aderire() funzione.
  • Fuori da invertito () funzione, abbiamo dichiarato una stringa da invertire, quindi stiamo stampando la stringa originale e la stringa invertita.

Metodo 5: Python Reverse String utilizzando la ricorsione

Ricorsione significa una funzione definita che richiama se stessa. Una funzione ricorsiva si dice ricorsiva quando richiama se stessa. Per capirlo meglio, guarda il seguente esempio di codice:

Python Codice:

# 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)}")

Produzione:

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

Spiegazione del codice:

  • Nel codice precedente, abbiamo dichiarato a inversione () funzione che accetta a stringa come argomento, il corpo della funzione è an se altro .
  • Il if controlla se la lunghezza della stringa è equivalente a 0 e restituisce la stringa, mentre l' altro l'istruzione chiama il inversione() funziona in modo ricorsivo, suddivide l'ultimo indice della stringa e lo aggiunge all'inizio.

Conclusione

  • Si Python lezione ti ha guidato attraverso l'inversione delle stringhe utilizzando vari metodi in Python.
  • Possiamo usare la funzione reverse_string() per l'inversione di stringa prendendo una determinata stringa come argomento.
  • È possibile utilizzare anche il "ciclo for e while" per l'agitazione inversa.
  • Puoi citare in giudizio la funzione inversa che accetta una stringa come argomento.
  • Quando si scelgono questi metodi, è necessario considerare la loro prestazione come uno dei fattori.