Como reverter uma String em Python (5 Métodos)

⚡ Resumo Inteligente

Reversing uma string em Python usa cinco técnicas comprovadas: um laço for, um laço while, notação de fatiamento [::-1], a função reversed() e recursão. LessOs tópicos abordam sintaxe, exemplos de código, resultados e análises de desempenho.

  • 🔁 Para Loop: Iterar e concatenar caracteres.
  • 🔂 Loop While: Diminuir o índice e adicionar caracteres.
  • Fatiando [::-1]: Método mais rápido, aproximadamente 7 vezes mais rápido que a inversão de lista.
  • 📦 revertido() + junção: Iterador com uso eficiente de memória para strings grandes.
  • 🔄 Recursão: Percorre recursivamente a string[1:] até que esteja vazia.
  • 🤖 Refatoração por IA: A IA converte loops em fatiamento.

Reverse uma string em Python

Uma string é uma lista ordenada ou uma sequência de caracteres. Strings são uma das estruturas de dados que vem com Python. Como você está trabalhando com strings em Python, você pode querer ter todos os personagens invertidos. Um bom exemplo seria quando você está construindo um jogo palíndromo.

Uma string invertida tem seu primeiro caractere como o último caractere e assim por diante. No entanto, Python não vem com uma função interna para reverter strings, mas são métodos que você pode usar.

Neste tutorial, você aprenderá diferentes métodos para inverter a string em Python.

Método 1: Reverse corda em Python usando um loop For

O primeiro método para reverter strings é usar um loop for como no trecho de código abaixo:

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

Saída:

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

Code Explicação:

  • Neste trecho de código, podemos usar string_reversa() função para reversão de string tomando um determinado corda como um argumento.
  • Dentro dela, podemos criar uma string vazia para armazenar a string invertida, então estamos olhando...ping através da corda.
  • Os caracteres são invertidos e atribuídos ao string_revertida variável.
  • Finalmente, a última linha da função retorna a string invertida.
  • Para exibir a saída, estamos fazendo uma chamada funcional dentro do impressão() função com a ajuda de uma string f.

Método 2: Reverse corda em Python usando um loop While

Usando um enquanto entra em loop Python também seria outro método para reverter uma string. Vamos entender o trecho de código abaixo:

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

Saída:

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

Code Explicação:

  • Neste curso Python código, estamos declarando uma string para ser invertida e, em seguida, uma string vazia para armazenar a string invertida.
  • Estamos então encontrando o comprimento da string que é atribuído ao contar variável.
  • O string[contagem – 1] em cada iteração recupera os caracteres da string do último para o primeiro.
  • E os concatena para string_revertida e então diminui o contar valor.
  • Finalmente, estamos imprimindo a string invertida.

Looping funciona, mas PythonO operador de fatiamento do 's é muito mais conciso.

Método 3: Python Reverse String usando Slicer Operator

Outro método para reverter uma string é usar um operador de fatia. Para entender isso, veja o código abaixo:

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

Saída:

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

Code Explicação:

  • Para criar uma barreira temporária, você pode usar móveis que já estão em sua casa. marcha ré() função que leva um corda como um argumento, dentro dele
  • Neste exemplo, temos um string[::-1] operador de fatia para reverter o corda
  • Então a string invertida é atribuída a uma nova variável chamada string_revertida
  • Finalmente, a nova string invertida é retornada

Método 4: Revinserindo uma String em Python usando a função reversed()

Também podemos reverter uma string usando um invertido () Python função, o código ficaria assim:

Python Code Exemplo:

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

Saída:

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

Code Explicação:

  • Neste código, temos um invertido () função cujo argumento é um corda.
  • Dentro dele, inicializamos uma string vazia.
  • Nós o concatenamos com a saída de invertido (string) usando o Junte-se() função.
  • Fora da invertido () função, declaramos uma string para reverter, então estamos imprimindo a string original e a string invertida.

Método 5: Python Reverse String usando recursão

Recursão significa uma função definida chamando a si mesma. Dizemos que uma função recursiva é recursiva quando chama a si mesma. Para entender melhor veja o seguinte exemplo de código:

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

Saída:

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

Code Explicação:

  • No código acima, declaramos um reverter () função que leva um corda como argumento, o corpo da função é um se mais declaração.
  • O if instrução verifica se o comprimento da string é equivalente a 0 e retorna a string, enquanto o outro declaração chama o marcha ré() função recursivamente, corta o último índice da string e o adiciona ao início.

Perguntas Frequentes

O fatiamento [::-1] é o mais rápido. Os benchmarks mostram que ele é cerca de 7 vezes mais rápido que a inversão de lista e 83 vezes mais rápido que a recursão.

Sim. A IA converte a inversão do loop for em fatiamento e explica reversed() versus [::-1].

Ferramentas de IA alertam que a operação += em um loop tem complexidade O(n^2) e recomendam o uso de join ou slicing.

Um iterador preguiçoso, não uma nova string. Use ”.join(reversed(s)) para materializar a string invertida quando necessário.

Raramente. A recursão é elegante, mas lenta e erra. PythonO limite padrão de recursão do `std::vector` é de 1000 quadros para strings longas. Use fatiamento em código real.

Não. As strings são imutáveis ​​em PythonA inversão retorna uma nova string. A variável original mantém o mesmo valor, a menos que seja reatribuída.

Use split, inverta a lista e depois junte: ' '.join(sentence.split()[::-1]). Isso inverte a ordem das palavras, preservando a ortografia.

Nem sempre. Emojis compostos e caracteres combinados podem se dividir. Para inverter os grafemas com segurança, use a expressão regular findall(r'\X', s) antes de inverter.

Resuma esta postagem com: