How to Reverse Words or Sentences in Python


Let’s take the following sentence:

words = "These are some words"

We can use slices to reverse the order of the string:

print( words[::-1] )
#sdrow emos era esehT

Let’s say we wanted to reverse each word in the sentence, but keep the order of words.

We can once again use slices, but we will compliment it with a list comprehension:

print( " ".join([word[::-1] for word in words.split(" ")]) )
#esehT era emos sdrow

How to Reverse words without using inbuilt modules

Let’s take this a bit further. Let’s say that we were not allowed to use our cool new slice toy, how could we reverse a string?

words = "These are some words"

out = ""
for i in range(len(words)-1, -1, -1):
  out += words[i]

print(out)
#sdrow emos era esehT

As we can see, this is the same as doing words[::-1], which shows the power and simplicity of slices!

We created a variable to hold our new string, then created a loop, counting from the last item in the index, to 0. We also made sure to do this in reverse.

In each iteration, we appended to our output string.