Open In App

Reverse Words in a Given String in Python

Last Updated : 06 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

In this article, we explore various ways to reverse the words in a string using Python. From simple built-in methods to advanced techniques like recursion and stacks. We are going to see various techniques to reverse a string.

Using split() and join()

Using split() and join() is the most common method to reverse the words in a string.

Python
# Input string
s = "Geeks for Geeks"

# Split the string into words, reverse the list of words, and join them back
reversed_words = ' '.join(s.split()[::-1])

print(reversed_words)

Output
Geeks for Geeks

Explanation:

  • The split() method splits the string into a list of words.
  • [::-1] reverses the list of words.
  • join() combines the reversed words back into a single string.

Using a Loop

We can manually reverse the words using a loop.

Python
s = "Geeks for Geeks"

# Split the string into words
words = s.split()

# Initialize an empty string to store the result
reversed_words = ""

# Iterate through the words in reverse order
for word in reversed(words):
    reversed_words += word + " "

# Strip the trailing space
reversed_words = reversed_words.strip()

print(reversed_words)

Output
Geeks for Geeks

Explanation:

  • Split the string into words, then use a loop to traverse the words in reverse order.
  • Append each word to a new string, adding a space after each word.

Using a Stack

A stack can be used to reverse the order of words.

Python
# Input string
s = "Geeks for Geeks"

# Split the string into words
words = s.split()

# Reverse the words using a stack
stack = []
for word in words:
    stack.append(word)

reversed_words = ""
while stack:
    reversed_words += stack.pop() + " "

# Strip the trailing space
reversed_words = reversed_words.strip()

# Output the result
print(reversed_words)

Output
Geeks for Geeks

Explanation:

  • Words are pushed onto a stack (a Last-In-First-Out structure).
  • Popping words from the stack reverses their order.

Using Recursion

A recursive approach can also reverse the words.

Python
s = "Geeks for Geeks"

# Recursive function to reverse words
def reverse_words(words):
    if not words:
        return ""
    return words[-1] + " " + reverse_words(words[:-1])

# Split the string and call the recursive function
reversed_words = reverse_words(s.split()).strip()

print(reversed_words)

Output
Geeks for Geeks

Explanation:

  • The function takes the list of words, returns the last word, and recursively processes the remaining words.

Next Article
Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy