Cómo invertir una cadena en Python (5 métodos)

Una cadena es una lista ordenada o una secuencia de caracteres. Las cadenas son una de las estructuras de datos que vienen con Python. Mientras trabaja con cadenas en Python, es posible que desee invertir todos los caracteres. Un buen ejemplo sería cuando estás creando un juego palíndromo.

Una cadena invertida tiene su primer carácter como último carácter y así sucesivamente. Sin embargo, Python no viene con una función incorporada para invertir cadenas, pero son métodos que puedes usar.

En este tutorial, aprenderá diferentes métodos para invertir la cadena en Python.

Método 1: invertir cadena en Python usando un bucle For

El primer método para invertir cadenas es utilizar un bucle for como se muestra en el siguiente fragmento de código:

Código Python:

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

Salida:

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

Explicación del código:

  • En este fragmento de código, podemos usar cadena_inversa() función para la inversión de cuerdas tomando un dado cadena como argumento
  • Dentro de él, podemos crear una cadena vacía para almacenar la cadena invertida, luego recorremos la cadena.
  • Los personajes se invierten y se asignan a la cadena_invertida variable.
  • Finalmente, la última línea de la función devuelve la cadena invertida.
  • Para mostrar el resultado, estamos haciendo una llamada funcional dentro del impresión() funcionar con la ayuda de una cuerda f.

Método 2: invertir una cadena en Python usando un bucle While

El uso del mientras bucle en Python También sería otro método para invertir una cuerda. Entendamos el siguiente fragmento de código:

Código Python:

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

Salida:

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

Explicación del código:

  • En este código Python, declaramos que se invertirá una cadena y luego una cadena vacía para almacenar la cadena invertida.
  • Luego encontramos la longitud de la cuerda que se asigna al contar variable.
  • El cadena[cuenta – 1] en cada iteración recupera los caracteres de la cadena del último al primero.
  • Y los concatena a cadena_invertida y luego disminuye el contar .
  • Finalmente, estamos imprimiendo la cadena invertida.

Método 3: cadena inversa de Python usando el operador de segmentación

Otro método para invertir una cadena es usar un operador de corte; para comprenderlo, consulte el código a continuación:

Código Python:

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

Salida:

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

Explicación del código:

  • Para crear un contrarrestar () función que toma un cadena como argumento, dentro de él
  • En este ejemplo, tenemos un cadena[::-1] operador de corte para invertir el cadena
  • Luego la cadena invertida se asigna a una nueva variable llamada cadena_invertida
  • Finalmente, se devuelve la nueva cadena invertida.

Método 4: invertir una cadena en Python usando la función invertida()

También podemos invertir una cadena usando un invertido () Función Python, el código quedaría de la siguiente manera:

Ejemplo de código Python:

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

Salida:

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

Explicación del código:

  • En este código, tenemos un invertido () función cuyo argumento es un cadena.
  • Dentro de él, hemos inicializado una cadena vacía.
  • Lo concatenamos con la salida de invertido (cadena) usando el unirse() función.
  • Afuera de invertido () función, hemos declarado una cadena para invertir, luego estamos imprimiendo la cadena original y la cadena invertida.

Método 5: cadena inversa de Python usando recursividad

Recursión significa una función definida que se llama a sí misma. Una función recursiva se dice que es recursiva cuando se llama a sí misma. Para entenderlo mejor mira lo siguientewing ejemplo de código:

Código Python:

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

Salida:

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

Explicación del código:

  • En el código anterior, hemos declarado un contrarrestar () función que toma un cadena como argumento, el cuerpo de la función es un si más .
  • El if La declaración comprueba si la longitud de la cadena es equivalente a 0 y devuelve la cadena, mientras que la más declaración llama a la contrarrestar () funciona de forma recursiva, corta el último índice de la cadena y lo agrega al inicio.

Conclusión

  • Este Tutorial de Python le ha guiado a través de la inversión de cadenas utilizando varios métodos en Python.
  • Podemos usar la función reverse_string() para invertir una cadena tomando una cadena determinada como argumento.
  • También puede utilizar el “bucle for y while” para agitar al revés.
  • Puede demandar una función invertida que toma una cadena como argumento.
  • Al elegir estos métodos, se debe considerar su rendimiento como uno de los factores.