• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

The Programming Expert

Solving All of Your Programming Headaches

  • HTML
  • JavaScript
  • jQuery
  • PHP
  • Python
  • SAS
  • VBA
  • About
You are here: Home / Python / Reverse String with Recursion in Python

Reverse String with Recursion in Python

February 15, 2022 Leave a Comment

In Python, we can reverse a string with recursion using a recursive function.

string = "Hello"

def reverse_string(string):
    if len(string) == 1:
        return string
    return reverse_string(string[1:]) + string[0:1]

print(reverse_string(string))

#Output:
olleH

When using string variables in Python, we can easily perform string manipulation to change the values or order of the characters in our string.

One such manipulation is to reverse a string. In Python, there is a built-in function called reverse(), but there are other ways we can reverse a string without the reverse() function.

We can reverse a string in Python without the reverse() function with a recursive function.

For recursion, we need to define a base case and a recursive step.

The base case for our recursive reverse function is when our string has a length of one. The recursive step keeps slicing the string from the second character to the end and add the first character to the end.

Below are some examples of how to recursively reverse a string in Python.

string = "Hello"

def reverse_string(string):
    if len(string) == 1:
        return string
    return reverse_string(string[1:]) + string[0:1]

print(reverse_string("Hello"))
print(reverse_string("Good Bye"))
print(reverse_string("My name is Billy"))

#Output:
olleH
eyB dooG
ylliB si eman yM

Reverse a List Without reverse() Function in Python Using Recursion

In an almost identical way, we can reverse a list in Python without the reverse() function using recursion.

To reverse a list using recursion, the base case for our recursive reverse function is when our list has a length of one. The recursive step keeps slicing the list from the second element to the end and add the first element to the end.

Below is an example of how to use recursion to reverse a list in Python.

list = [1,2,3,4]

def reverse_list(list):
    if len(list) == 1:
        return list
    return reverse_list(list[1:]) + list[0:1]

print(reverse_list(list))

#Output:
[4,3,2,1]

Hopefully this article has been useful for you to learn how to reverse a string using recursion in Python.

Other Articles You'll Also Like:

  • 1.  Fibonacci Sequence in Python with for Loop
  • 2.  Using Python to Add Trailing Zeros to String
  • 3.  Read Pickle Files with pandas read_pickle Function
  • 4.  Get First Digit in Number Using Python
  • 5.  Get Current Year in Python
  • 6.  Python Random Boolean – How to Generate Random Boolean Values
  • 7.  Convert True to 1 in Python
  • 8.  Python asinh – Find Hyperbolic Arcsine of Number Using math.asinh()
  • 9.  Change Python Turtle Background Color with screensize() Function
  • 10.  Remove Trailing Zeros from String with rstrip() in Python

About The Programming Expert

The Programming Expert is a compilation of a programmer’s findings in the world of software development, website creation, and automation of processes.

Programming allows us to create amazing applications which make our work more efficient, repeatable and accurate.

At the end of the day, we want to be able to just push a button and let the code do it’s magic.

You can read more about us on our about page.

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

About The Programming Expert

the programming expert main image

The Programming Expert is a compilation of hundreds of code snippets to help you find solutions to your problems in Python, JavaScript, PHP, HTML, SAS, and more.

Search

Learn Coding from Experts on Udemy

Looking to boost your skills and learn how to become a programming expert?

Check out the links below to view Udemy courses for learning to program in the following languages:

Copyright © 2022 · The Programming Expert · About · Privacy Policy