Como inverter uma string em Python

Neste artigo você vai aprender a como inverter uma string em Python, de uma maneira simples para você utilizar em seus programas

Como inverter uma string em Python capa

Conteúdo também disponível em vídeo:

Fala programador(a), beleza? Bora aprender mais sobre strings em Python e também como inverter uma string

Para fazer a ação de inversão de texto em Python não precisamos nem de uma função

Utilizando a notação de slice já é possível

txt = "Inverter texto"[::-1]
print(txt) # otxet retrevnI

Basicamente estamos utilizando um slice no começo da string que se move de trás para frente

Formação Vibe Coding
Formação Recomendada

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Começando do primeiro caractere e indo em um passo negativo de -1

Esta operação resulta na string inversa dentro da variável txt, onde imprimimos ela posteriormente

Em outras linguagens geralmente utilizamos funções para atingir este resultado, o que pode acabar prejudicando a performance

Com Pyhton conseguimos utilizar operadores nativos para inverter a string, e encapsular esta inversão em uma variável

Note que você pode criar uma função com esta instrução e replicar em diversas partes do código caso seja necessário

Veja como ficaria esta função:

def inverter(txt):
  return txt[::-1]

Desta forma é possível realizar o reaproveitamento de código de uma maneira fácil

Conclusão

Neste artigo aprendemos a como inverter uma string em Python

Utilizamos uma notação de slice, que serve para recortar uma string em pontos que desejamos

Utilizando o passo negativo, o slice inverte a string e nos retorna o texto ao contrário

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subtítulo: Invertendo com reversed() e join():

O slice é o jeito mais direto, mas não é o único

O Python tem a função reversed(), que percorre a sequência de trás pra frente

Só que ela devolve um objeto reversed, não a string pronta

Por isso a gente junta os caracteres de volta com o join()

txt = "".join(reversed("Inverter texto")) print(txt) # otxet retrevnI

O reversed() faz o caminho de volta e o join() cola tudo numa string só

Se você conhece o join de listas, é a mesma ideia aqui aplicada no resultado do reversed

Subtítulo: E com um loop, dá pra inverter?

Dá sim, e é bom conhecer pra entender o que acontece por baixo

A lógica é ir pegando caractere por caractere e montando a string ao contrário

def inverter_loop(txt): invertida = "" for caractere in txt: invertida = caractere + invertida return invertida

print(inverter_loop("Inverter texto")) # otxet retrevnI

Cada caractere novo entra na FRENTE do que já tem, então no fim o texto sai invertido

Na prática o slice resolve em uma linha e você quase nunca vai precisar do loop, mas pra aprender é massa ver a mecânica por dentro

Subtítulo: Como inverter a ordem das palavras de uma frase?

Aqui é uma dúvida que confunde bastante gente

Inverter a string vira o texto letra por letra

Mas às vezes você não quer isso, quer inverter a ordem das PALAVRAS, mantendo cada palavra escrita certa

frase = "Hora de Codar" print(invertida) # Codar de Hora

O split() quebra a frase em uma lista de palavras

E o join() junta tudo de novo com espaço no meio

Dois problemas parecidos, resultados bem diferentes, se liga nessa

Leia também

Subscribe
Notify of
guest

4 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
arthur

Vlw Muito cara! Me salvo kkkjkk

Battisti

de nada =D

Kahcruz

teria como eu conseguir inverter sem usar o comando return?

Gabriel

É claro! O comando return só foi usado porque foi criada uma função para efetuar a inversão. Você só precisa fazer: string[::-1] e pronto, sua string estará invertida.

Formações

Formação SAAS com IA

Formação SAAS com IA

Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!

  • 291 aulas
  • 18 projetos
  • 24h 17min

Blog | Mais populares