Open In App

Python - Reversing a Tuple

Last Updated : 19 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

We are given a tuple and our task is to reverse whole tuple. For example, tuple t = (1, 2, 3, 4, 5) so after reversing the tuple the resultant output should be (5, 4, 3, 2, 1).

Using Slicing

Most common and Pythonic way to reverse a tuple is by using slicing with a step of -1, here is how we can do it:

Python
t = (1, 2, 3, 4, 5) 
# Reverse the tuple using slicing with a step of -1
rev = t[::-1]

print(rev) 

Output
(5, 4, 3, 2, 1)

Explanation:

  • t[::-1] creates a new tuple by iterating through t in reverse order.
  • Original tuple t remains unchanged and reversed tuple is stored in rev.

Using reversed()

reversed() function returns an iterator that can be converted to a tuple.

Python
t = (1, 2, 3, 4, 5)  
# Reverse the tuple using the built-in reversed() function and convert it back to a tuple
rev = tuple(reversed(t))
print(rev)  

Output
(5, 4, 3, 2, 1)

Explanation:

  • reversed(t) returns an iterator that iterates through tuple in reverse order.
  • tuple(reversed(t)) converts reversed iterator into a new tuple without modifying the original tuple.

Using a Loop

We can manually reverse the tuple by iterating from the end using a loop.

Python
t = (1, 2, 3, 4, 5)  
# Reverse the tuple by iterating through the indices in reverse order
rev = tuple(t[i] for i in range(len(t) - 1, -1, -1))
print(rev)  

Output
(5, 4, 3, 2, 1)

Explanation:

  • range(len(t) - 1, -1, -1) generates indices from the last element to the first, allowing element access in reverse order.
  • Generator expression collects these elements into a new tuple ensuring the original tuple remains unmodified.

Using collections.deque

In this method we are using collections.deque, which provides a reverse() method for in-place reversal of the tuple.

Python
from collections import deque  
t = (1, 2, 3, 4, 5)
deq = deque(t)

# Reverse the deque in place
deq.reverse()

# Convert the reversed deque back to a tuple
rev = tuple(deq)

print(rev)  

Output
(5, 4, 3, 2, 1)

Explanation:

  • deque(t) allows efficient in-place reversal with its reverse() method avoiding the need for additional looping or slicing.
  • tuple(deq) converts the reversed deque back to a tuple ensuring the result is a new tuple while leaving the original tuple unmodified.

Next Article
Article Tags :
Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy