foo.reverse() actually reverses the elements in the container. reversed() doesn't actually reverse anything, it merely returns an object that can be used to iterate over the container's elements in reverse order. If that's what you need, it's often faster than actually reversing the elements.

Answer from kindall on Stack Overflow
Discussions

reversed vs [::-1]
Note that reversed() doesn't return a list, it returns an iterator. Your code snippets aren't equivalent. Should programmer choose carefully between slicing and reversed? Only if you have huge lists that take up gigabytes of memory. Just choose the one that expresses your intent more clearly. More on reddit.com
๐ŸŒ r/Python
6
3
June 24, 2014
why reversed (list) is iteratorable but list.reverse() is not?
Basically because the reverse() function has a return type of None, it modifies the list in place. It's a call to a function, not to the list itself. Just like you couldn't do reversed_list = list.reverse(), because reversed_list would hold the value of None (But the list variable would still be reversed in-place). Where list[::-1] is a call to the list itself, with instructions on how to iterate through it. More on reddit.com
๐ŸŒ r/learnpython
24
12
August 26, 2024
Why does [::1] reverse a string in Python?
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: Limiting your involvement with Reddit, or Temporarily refraining from using Reddit Cancelling your subscription of Reddit Premium as a way to voice your protest. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
๐ŸŒ r/learnprogramming
15
12
September 21, 2023
Reversing a range using a FOR LOOP
You should show what you've tried so far. It's easier to give productive help if we base the help on code you've written. It doesn't require a for-loop though. You can use one, but it would be far more straightforward with a while. Be careful of artificially limiting what tools you consider. More on reddit.com
๐ŸŒ r/learnpython
11
0
December 24, 2022
๐ŸŒ
Geek Python
geekpython.in โ€บ reverse-vs-reversed-in-python
Reverse Vs Reversed Function In Python - Comparison
January 17, 2024 - The reverse() function from Python List is used to reverse the elements in a List wjereas, Python reversed() function takes a sequence and returns the reversed iterator object.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ python-reversed-vs-1-which-one-is-faster
Python - reversed() VS [::-1] , Which one is faster? - GeeksforGeeks
July 15, 2025 - The format [a : b : c] in slicing states that from an inclusive to b exclusive, count in increments of c. In the above code, a and b are blank and c is -1. So it iterates the entire list counting from the last element to the first element resulting in a reversed list. ... # Python code to reverse a list using slicing # Original list original_list = [110, 220, 330, 440, 550] print('Original list:', original_list) # Reversing the list using slicing reversed_list = original_list[::-1] # Printing the reversed list elements print('Reversed list elements:') for element in reversed_list: print(element)
๐ŸŒ
Medium
medium.com โ€บ @naqvishahwar120 โ€บ reverse-vs-reversed-in-python-9c210e3f125e
reverse() vs reversed() in Python - Shahwar Alam Naqvi - Medium
January 17, 2025 - reverse() vs reversed() in Python Python reverse() Mutating method : It modifies the original list Returns nothing, just changes the list. Works only on List. Example : mera_list = โ€ฆ
๐ŸŒ
Educative
educative.io โ€บ answers โ€บ how-to-use-the-reverse-and-reversed-methods-in-python
How to use the reverse() and reversed() methods in Python
It modifies the list but the reversed() method gives an iterator to help traverse the given list in reversed order.
๐ŸŒ
Anujcodes
anujcodes.com โ€บ choosing-the-right-method-for-reversing-sequences-in-python-reverse-vs-reversed
Reverse a List in Python: reverse() vs. reversed() โ€“ Anuj Sharma
Python provides two common ways to reverse a list: reverse() method (modifies the list in-place) reversed() function (returns a reversed iterator) Each has its own advantages depending on the use case. Works only on lists. Modifies the original list directly (in-place).
Find elsewhere
๐ŸŒ
Plain English
python.plainenglish.io โ€บ understanding-reverse-vs-reversed-in-python-4ce1750722d4
Understanding reverse vs reversed in Python | by Allwin Raju | Python in Plain English
November 19, 2024 - The reverse() method is specific to mutable sequences, such as lists. It modifies the sequence in place, which means the original data structure is updated and no new object is created.
๐ŸŒ
Reddit
reddit.com โ€บ r/python โ€บ reversed vs [::-1]
r/Python on Reddit: reversed vs [::-1]
June 24, 2014 -

I always thought that slice operation for reversing of the list or something else is fastest one. But after watching "Transforming Code into Beautiful, Idiomatic Python" on youtube I have decided to compare slice and reversed method to each other. Obviously reversed is faster than slicing when we assign the result to new variable. But when we want just to reverse without having new variable results are roughly the same or even better for slicing . Here is the graph and tested code

graphs!

import timeit
example = '''
d = [1,2,3,4,5,6,7,8,9,0]
d = reversed(d)
'''
example2 = '''
d = [1,2,3,4,5,6,7,8,9,0]
d = d[::-1]
'''
print(timeit.timeit(example, number=100000000))
print(timeit.timeit(example2, number=100000000))
  
  
import timeit
example = '''
d = [1,2,3,4,5,6,7,8,9,0]
new_var = reversed(d)
'''
example2 = '''
d = [1,2,3,4,5,6,7,8,9,0]
new_var = d[::-1]
'''
print(timeit.timeit(example, number=100000000))
print(timeit.timeit(example2, number=100000000))

Should programmer choose carefully between slicing and reversed?

๐ŸŒ
Medium
vinitatimesq29.medium.com โ€บ difference-between-reverse-and-reversed-built-in-functions-in-python-87761c2628e3
Difference between Reverse() and Reversed() built-in functions in Python. | by Vinita | Medium
August 20, 2020 - Difference between Reverse() and Reversed() built-in functions in Python. While both reverse() and reversed() are built-in functions and they are used to reverse a list but we need to understand two โ€ฆ
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ python-reversed-function
Python reversed() Method - GeeksforGeeks
February 17, 2026 - reversed() function in Python returns an iterator that accesses elements in reverse order. It does not create a new reversed copy of the sequence, making it memory-efficient.
๐ŸŒ
Real Python
realpython.com โ€บ ref โ€บ builtin-functions โ€บ reversed
reversed() | Pythonโ€™s Built-in Functions โ€“ Real Python
This class allows you to iterate through an interval of floating-point numbers using a fixed increment value, step. In your class, .__iter__() provides support for normal iteration, and .__reversed__() supports reverse iteration. ... In this step-by-step tutorial, you'll learn about Python's tools and techniques to work with lists in reverse order.
๐ŸŒ
Scaler
scaler.com โ€บ home โ€บ topics โ€บ reversed in python | python reversed() function
Reversed in Python | Python reversed() Function - Scaler Topics
July 5, 2022 - The built-in reversed function in Python is used to reverse a sequence like a list, string, or tuple by creating a reverse iterator of the given sequence.
๐ŸŒ
Educative
educative.io โ€บ answers โ€บ how-to-use-reverse-in-python
How to use reverse() in Python
On the other hand, reverse() does not take any arguments, nor does it return anything.
๐ŸŒ
Programiz
programiz.com โ€บ python-programming โ€บ methods โ€บ built-in โ€บ reversed
Python reversed()
The reversed() function returns an iterator object that provides access to the elements of an iterable (list, tuple, string, etc.) in reverse order. string = 'Python' result = reversed(string) # convert the iterator to list and print it print(list(result)) # Output: ['n', 'o', 'h', 't', 'y', 'P']
๐ŸŒ
Real Python
realpython.com โ€บ python-reverse-list
Reverse Python Lists: Beyond .reverse() and reversed() โ€“ Real Python
June 28, 2023 - To meet the first challenge, you can use either .reverse() or a loop that swaps items by index. For the second, you can use reversed() or a slicing operation. In the next sections, youโ€™ll learn about different ways to accomplish both in your code. ... Like other mutable sequence types, Python lists implement .reverse().
๐ŸŒ
Note.nkmk.me
note.nkmk.me โ€บ home โ€บ python
Reverse a List, String, Tuple in Python: reverse, reversed | note.nkmk.me
August 16, 2023 - In Python, you can reverse a list using the reverse() method, the built-in reversed() function, or slicing. To reverse a string (str) and a tuple, use reversed() or slicing. Reverse a list using the r ...