Palabras inversas en una string dada en Python

Nos dan una string y necesitamos invertir las palabras de una string dada

Ejemplos:

Input : str =" geeks quiz practice code"
Output : str = code practice quiz geeks 
Input : str = "my name is laxmi"
output : str= laxmi is name my 

invertir las palabras en el programa de string dado 

Python3

# Python code
# To reverse words in a given string
 
# input string
string = "geeks quiz practice code"
# reversing words in a given string
s = string.split()[::-1]
l = []
for i in s:
    # apending reversed words to l
    l.append(i)
# printing reverse words
print(" ".join(l))
Producción

code practice quiz geeks

Complejidad de tiempo: O(n) , donde n es la longitud de la string
Espacio auxiliar: O(n) , donde n es la longitud de la string

¿Se nos da una string y necesitamos invertir las palabras de una string dada? Ejemplos:

Input : str = geeks quiz practice code
Output : str = code practice quiz geeks

Este problema tiene una solución existente, consulte Palabras inversas en un enlace de string dado. Resolveremos este problema en python. A continuación se detallan los pasos a seguir para solucionar este problema.

  • Separe cada palabra en una string dada usando el método split() del tipo de datos de string en python.
  • Invierta la lista separada por palabras.
  • Imprima las palabras de la lista, en forma de string después de unir cada palabra con un espacio usando el método ” “.join() en python.

Implementación:

Python3

# Function to reverse words of string
 
def rev_sentence(sentence):
 
    # first split the string into words
    words = sentence.split(' ')
 
    # then reverse the split string list and join using space
    reverse_sentence = ' '.join(reversed(words))
 
    # finally return the joined string
    return reverse_sentence
 
if __name__ == "__main__":
    input = 'geeks quiz practice code'
    print (rev_sentence(input))
Producción

code practice quiz geeks

Complejidad de tiempo: O(n), donde n es la longitud de la string
Espacio auxiliar: O(n), donde n es la longitud de la string

Esta solución usa el mismo procedimiento pero tiene diferentes métodos para invertir las palabras en una string con la ayuda del módulo de iteración hacia atrás y expresión regular. Los siguientes son los pasos de nuestro enfoque:

  • Encuentra todas las palabras en string con la ayuda de la función re.findall()
  • Iterar sobre la lista de manera inversa. 
  • Une las palabras en una string con la ayuda de la función join().

Python3

# Function to reverse words of string
import re
def rev_sentence(sentence):
 
    # find all the words in sentence
    words = re.findall('\w+', sentence)
 
    # Backward iterate over list of words and join using space
    reverse_sentence = ' '.join(words[i] for i in range(len(words)-1, -1, -1))
 
    # finally return the joined string
    return reverse_sentence
 
if __name__ == "__main__":
    input = 'geeks quiz practice code'
    print (rev_sentence(input))
Producción

code practice quiz geeks

Este artículo es una contribución de Shashank Mishra (Gullu) . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *