Reverse a sentence In Python
Introduction
The built-in reverse() function is not supported by the Python string library. As we know, a Python string is defined as a set of Unicode characters and Python provides various functions for string manipulation. We can perform a reverse operation on a string in different ways. Here, we will discuss different ways to perform the reverse operation in Python.
We can use the following ways to reverse a string in Python.
- Using Slicing
- Using for loop
- Using while loop
- Using reversed()
- Using stack
- Using Recursion
1. Using Slicing
We can reverse a string by using the slice operator. The slice operator usually takes three parameters to set a "step" field as a start, stop, step. At the start and end index, no field will be given. It indicates 0 for the start index by default and n-1 for the end index by default. The string will traverse from the end index and move to the position where the index is 1 because the size of the step index is "-1".
Example:
# Python code for reversing a string
# by using the slice operator
# defining the function to reverse a string
def reverse(string):
string = string[::-1]
return string
# Given String
S = "Tutorial and Example"
# Printing Given String
print ("The given string is : ",S)
# Printing reversed string
print ("The reversed string using the slice operator) is : ",reverse(S))
Output:
('The given string is : ', 'Tutorial and Example')
('The reversed string using the slice operator) is : ', 'elpmaxE dna lairotuT')
2. Using for loop
We can reverse a string by using for loop. Here, we will call a function to reverse a string by passing an argument. An empty string variable will be declared for holding the reversed string. After that, each element of the given string will iterate by the for loop. It combines every character in the beginning and stores them in an empty string variable.
Example:
# Python code for reversing a string
# by using for loop
def reverse(str):
str_1 = ""
for i in str:
str_1 = i + str_1
return str_1
# Given String
str = "Tutorial and Example"
# printing original string
print("The original string is: ",str)
# printing reversed string
print("The reverse string is",reverse(str))
Output:
('The original string is: ', 'Tutorial and Example')
('The reverse string is', 'elpmaxE dna lairotuT')
3. Using While loop
The string can also be reversed by using while loop statement. In this example, a while loop is initialized with the string value and a variable is declared for holding the string value. A length variable is used as an index for extracting values from the string. The value of the length variable will decrease as the value of the length variable and the reverse variable concatenated with each other. Then it gives a reverse string.
Example:
# Given string
str = "Tutorial and Example"
# priting given string
print ("The given string is : ",str)
# Empty string for storing the reverse string
reversed_str = ''
length = len(str) - 1
while length >= 0:
reversed_str = reversed_str + str[length]
length = length - 1
#printing reversed string
print ("The reversed string using a while loop is : ", reversed_str)
Output:
('The given string is : ', 'Tutorial and Example')
('The reversed string using a while loop is : ', 'elpmaxE dna lairotuT')
4. Using reversed() function
The reversed() function is used to reverse the string in Python. Here, an empty string is declared in the function body. The elements of the string will join an empty string that is separated using the join() function.
Example:
# Python code for reversing a string
# by using reversed()
# Function to reverse a string
def reverse(string):
string = "".join(reversed(string))
return string
s = "Tutorial and Example"
# printing the given string
print ("The given string is : ",s)
# priting reversed string
print ("The reversed string using reversed is : ",reversed(s))
Output:
('The given string is : ', 'Tutorial and Example')
('The reversed string using reversed is : ', 'elpmaxE dna lairotuT')
5. Using stack
We can also reverse a string using a stack by creating an empty stack. The characters will be inserted one by one into the stack. Then characters are popped out one by one from the stack and then form a reverse string of characters.
Example:
# Python code for reversing a string
# by using stack
# defining function for creating
# empty stack
def createStack():
stack=[]
return stack
# defining the size of stack
def size(stack):
return len(stack)
# applying the condition
def isEmpty(stack):
if size(stack) == 0:
return true
# adding item to the stack
def push(stack,item):
stack.append(item)
# removing the item from the stack
def pop(stack):
if isEmpty(stack): return
return stack.pop()
# defining function to reverse the string
def reverse(string):
n = len(string)
# creating stack
stack = createStack()
for i in range(0,n,1):
push(stack,string[i])
# Empty the string
string=""
# taking characters back to the string
for i in range(0,n,1):
string+=pop(stack)
return string
# given string
s = "Tutorial and Example"
print ("The original string is : ",s)
print ("The reversed string by using stack is : ",reversed(s))
Output:
The original string is : Tutorial and Example
The reversed string by using stack is : elpmaxE dna lairotuT
6. Using Recusrion
We can perform the reverse operation on a string by using recursion. Recursion is defined as the process of function calling itself. Here, we are going to define a function where the string as arguments is accepted by the function.
We are defining the base condition of recursion in the function body, if the string length is 0, then the string will return and if the length is not 0 then the function will be called recursively.
Example:
# Python code for reversing a string
# by using recursion
def reverse(str):
if len(str) == 0:
return str
else:
return reverse(str[1:]) + str[0]
# given string
str = "Tutorial and Example"
# priting given string
print ("The original string is : ",str)
# printing reverse string
print ("The reversed string by using recursion : ",reverse(str))
Output:
The original string is : Tutorial and Example
The reversed string by using recursion : elpmaxE dna lairotuT
Conclusion
In the above article, We have learned how to reverse a string in Python by using different methods. Now, We understood the concept of string reverse operation in Python.