Python reversed()
Function
The reversed() function in Python returns an iterator that accesses the given sequence in the reverse order. It is commonly used to loop through lists or other sequences from the end to the beginning.
Syntax
reversed(sequence)
Parameters:
sequence
– A sequence that supports reverse iteration (likelist
,tuple
,string
, or a user-defined class with__reversed__()
).
Returns:
- An iterator that returns the elements in reverse order.
Example 1: Reversing a List
numbers = [1, 2, 3, 4, 5]
for num in reversed(numbers):
print(num)
5
4
3
2
1
Example 2: Reversing a String
text = "hello"
for char in reversed(text):
print(char)
o
l
l
e
h
Example 3: Convert Reversed Iterator to List
items = ['a', 'b', 'c']
rev_items = list(reversed(items))
print(rev_items)
['c', 'b', 'a']
Use Cases of reversed()
- To iterate backward in loops
- To reverse a string or list without modifying the original
- In problems involving palindromes or reverse traversal
Important Notes
reversed()
does not return a reversed list directly — it returns an iterator.- You need to convert it to
list()
ortuple()
if you want to store or print the reversed result directly.
Common Mistakes
- Using
reversed()
on non-sequence types like sets or dictionaries will raise aTypeError
. - To reverse those, you can convert them to a list first:
reversed(list(my_set))
Interview Tip
In interviews, use reversed()
when you're asked to check for palindromes or reverse iteration in loops. It's cleaner and more readable than using indexes.
Summary
reversed()
returns an iterator for reverse traversal.- Works with lists, tuples, strings, and custom objects with
__reversed__()
. - Use
list(reversed(...))
to get a reversed list.
Practice Problem
Write a program that checks if a word is a palindrome (reads the same backward).
word = input("Enter a word: ")
if list(word) == list(reversed(word)):
print("It's a palindrome!")
else:
print("Not a palindrome.")