This article will explain 2 different methods of reversing a tuple in python.
Slicing in python is used to extract elements from a collection such as a list, string or tuple. Slicing is performed using element indexes enclosed between square brackets.
Syntax of slicing a tuple is
tuple[start_index: stop_index: step_size]
where elements are extracted from start_index till stop_index at an interval of step_size.
If start_index is omitted, then it defaults to 0, end_index is omitted, it is considered as end of tuple and step_size is taken as 0, if omitted.
Python also supports negative slicing which means that elements can be extracted from right to left.
If we omit start_index and end_index while set the step_size as -1, then it extracts the elements from right to left and hence reverses the tuple. Example,
# define a tuple t = (1, 2, 3, 4, 5) # slice tuple r = t[::-1] print('Original tuple:', t) print('Reversed tuple:', r)
which prints
Original tuple: (1, 2, 3, 4, 5)
Reversed tuple: (5, 4, 3, 2, 1)
To know more about slicing, refer this article.
Python’s inbuilt
reversed()
function accepts a tuple and returns a reverse iterator. This reverse iterator can be used to create a new tuple with elements in reverse direction as shown below.
#define a tuple t = (1, 2, 3, 4, 5) # create reverse iterator reverse_iterator = reversed(t) # create a new reversed tuple r = tuple(reverse_iterator) print('Original tuple:', t) print('Reversed tuple:', r)
If you print the type of value returned by reversed()
using type()
function, then it will be
<class ‘reversed’>
which is an object of reversed
class.