Como reverter uma string em Python

Aprenda como reverter uma string em Python usando fatiamento, a função reversed() e concatenação de loop com exemplos de código visual.

Experimente esta solução no Editor

Visão geral

A manipulação de strings é um recurso essencial no processamento de texto, análise e solução de problemas algorítmicos. Reverter uma string é um exercício clássico que mostra a flexibilidade das estruturas de dados do Python. Como as strings em Python são imutáveis ​​(o que significa que não podem ser alteradas após a criação), reverter uma string sempre retorna uma nova string.

A maneira mais comum, idiomática e rápida de reverter uma string em Python é usando a notação de fatia: `my_string[::-1]`. A sintaxe do slice usa três parâmetros `[start:stop:step]`. Ao omitir `start` e `stop` e definir `step` como `-1`, você diz ao Python para percorrer a string de trás para frente, do final para o início. Nos bastidores, essa operação de fatiamento é implementada em código C otimizado, tornando-a excepcionalmente rápida.

Alternativamente, você pode usar a função integrada `reversed()`, que retorna um iterador que produz caracteres na ordem inversa. Para converter este iterador novamente em uma string, você os une usando `"".join(reversed(text))`. Este método é altamente legível e funciona bem se você quiser fazer um loop direto sobre os caracteres invertidos, sem criar uma nova string primeiro.

Saída de código e execução

Este script demonstra a reversão de uma string usando fatiamento, junção + reversão e uma implementação de loop manual.

reverse_string.py
Experimente no Editor
text = "PyRun"

# Method 1: Slicing (Fastest & most common)
reversed_slice = text[::-1]
print("Slicing:", reversed_slice)

# Method 2: reversed() and join() (Very readable)
reversed_join = "".join(reversed(text))
print("Reversed join:", reversed_join)

# Method 3: Loop (Useful for demonstrating logic)
reversed_loop = ""
for char in text:
    reversed_loop = char + reversed_loop
print("Loop method:", reversed_loop)
Saída terminal
Slicing: nuRyP
Reversed join: nuRyP
Loop method: nuRyP

Implementação passo a passo

  • Use a notação de fatia [::-1] para a maneira mais rápida e pitônica de reverter uma string.
  • Use "".join(reversed(text)) para reverter uma string usando uma abordagem baseada em iterador.
  • Lembre-se sempre de que reverter uma string cria um novo objeto string na memória.

Perguntas frequentes

O corte de strings é a maneira mais rápida de reverter uma string?

Sim, a notação de fatia é implementada em C e é executada muito mais rápido que loops ou expressões geradoras.

Por que não consigo reverter uma string no local?

Strings em Python são imutáveis, o que significa que seus caracteres não podem ser modificados no local. Você deve construir uma nova string.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.