Strings are basically sequence of characters. Python doesn’t support in-built string functions such as reverse() to reverse a string.

The following are the ways to reverse a string in Python:
- By using a
for loop
- By using a
while loop
- By using a
Slicing
- By using
join()
method - By using
Recursion
- By using
List
reverse()
method - By using
stack
Method 1: Reverse a string using for loop
def rev_string_loop(s): res = '' for x in s: res = x + res return res str = 'STRING' print('Reversed String =', rev_string_loop(str))
Output:
Reversed String = GNIRTS
Method 2: Reverse a string using while loop
def rev_string_loop(x): res = '' length = len(x) - 1 while length >= 0: res = res + x[length] length = length - 1 return res str = 'STRING' print('Reversed String =', rev_string_loop(str))
Output:
Reversed String = GNIRTS
Method 3: Reverse a string using Slicing
input="STRING" length=len(input) res=input[length::-1] print (res)
Output:
GNIRTS
Method 4: Reverse a string using join() method
input = 'STRING' result=''.join(reversed(input)) print(result)
Output:
GNIRTS
Method 5: Reverse a string using Recursion
def rev_string(x): if len(x) == 0: return x else: return rev_string(x[1:]) + x[0] x = "STRING" print ("Original string: ") print (x) print ("Reversed string: ") print (rev_string(x))
Output:
Original string:
STRING
Reversed string:
GNIRTS
Method 6: Reverse a string using List reverse() method
input_list = [1, 2, 3, 4, 5] input_list.reverse() print(input_list)
Output:
[5, 4, 3, 2, 1]
Method 7: Reverse a string using stack
def create(): stack1=[] return stack1 def size(stack1): return len(stack1) def isEmpty(stack1): if size(stack1) == 0: return true def push(stack1,element): stack1.append(element) def pop(stack1): if isEmpty(stack1): return return stack1.pop() def rev_string(input): x = len(input) stack1 = create() for i in range(0,x,1): push(stack1,input[i]) input="" for i in range(0,x,1): input+=pop(stack1) return input n = "STRING" print ("Original string: ") print (n) print ("Reversed string: ") print (rev_string(n))
Output:
Original string:
STRING
Reversed string:
GNIRTS
References
- Python Reverse String
- Python Docs