Python reversed()

The reversed() function returns the reversed iterator of the given sequence.

The syntax of reversed() is:

reversed(seq)

1. reversed() Parameters

The reversed() function takes a single parameter:

  • seq – the sequence to be reversed

A sequence is an object that supports sequence protocols: __len__() and __getitem__() methods. For example, tuplestringlistrange, etc.

We can also use reversed() in any object that implements __reverse__().

2. Return value from reversed()

The reversed() function returns an iterator that accesses the given sequence in the reverse order.

3. Example 1: Using reveresed() in string, tuple, list, and range

# for string
seq_string = 'Python'
print(list(reversed(seq_string)))

# for tuple
seq_tuple = ('P', 'y', 't', 'h', 'o', 'n')
print(list(reversed(seq_tuple)))

# for range
seq_range = range(5, 9)
print(list(reversed(seq_range)))

# for list
seq_list = [1, 2, 4, 3, 5]
print(list(reversed(seq_list)))

Output

['n', 'o', 'h', 't', 'y', 'P']
['n', 'o', 'h', 't', 'y', 'P']
[8, 7, 6, 5]
[5, 3, 4, 2, 1]

In our example, we have converted the iterators returned by reversed() to list using the list() function.

4. Example 2: reversed() in custom objects

class Vowels:
    vowels = ['a', 'e', 'i', 'o', 'u']

    def __reversed__(self):
        return reversed(self.vowels)

v = Vowels()
print(list(reversed(v)))

Output

['u', 'o', 'i', 'e', 'a']