How would you reverse a string in Python

Reversing a string in Python can be done in several ways. Here are the most common methods:


1. Using Slicing

The slicing technique with the step parameter -1 is the most Pythonic way to reverse a string.

# Example
string = "hello"
reversed_string = string[::-1]
print(reversed_string)  # Output: "olleh"

2. Using the reversed() Function

The reversed() function returns an iterator, which can be converted back into a string using ''.join().

# Example
string = "hello"
reversed_string = ''.join(reversed(string))
print(reversed_string)  # Output: "olleh"

3. Using a Loop

You can iterate through the string in reverse order and build the reversed string manually.

# Example
string = "hello"
reversed_string = ''
for char in string:
    reversed_string = char + reversed_string
print(reversed_string)  # Output: "olleh"

4. Using a Stack (List)

Strings can be treated as a stack (last-in, first-out) by converting the string to a list and then using the pop() method.

# Example
string = "hello"
stack = list(string)
reversed_string = ''
while stack:
    reversed_string += stack.pop()
print(reversed_string)  # Output: "olleh"

5. Using Recursion

A recursive function can reverse a string by taking the first character and appending it to the reversed rest of the string.

# Example
def reverse_string(s):
    if len(s) == 0:
        return s
    return s[-1] + reverse_string(s[:-1])

string = "hello"
reversed_string = reverse_string(string)
print(reversed_string)  # Output: "olleh"

6. Using str.join() with List Comprehension

This approach reverses the string by using a reversed list comprehension.

# Example
string = "hello"
reversed_string = ''.join([string[i] for i in range(len(string)-1, -1, -1)])
print(reversed_string)  # Output: "olleh"

Performance

  • Slicing ([::-1]) is the fastest and most commonly used method in Python because it is optimized internally.
  • reversed() is slower due to the creation of an iterator.
  • Loop-based methods and recursion are generally less efficient but demonstrate algorithmic approaches.

For simplicity and readability, slicing is the recommended method in most cases.

My Thought

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

Our Tool : hike percentage calculator