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
🌐
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?

Discussions

Method for reversing strings - Ideas - Discussions on Python.org
I would like to add a .reverse() method for strings. I think most modern languages have something like that and [::-1] is a bit archaic with little charm. There may be other methods like splitting the string, reversing the resulting list, and then joining it back, but that’s a bit of work! More on discuss.python.org
🌐 discuss.python.org
1
February 20, 2025
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
[Video] Python's reverse() Vs reversed() - How they differ
Namaste! Thanks for submitting to r/developersIndia . Make sure to follow the Community Code of Conduct while participating in this thread. Join ToolJet's CEO & Founder Navaneeth Padanna Kalathil: An AMA on Software Engineering, Open-Source, and more! - Jan 20th, 12:00 PM IST! 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/developersIndia
1
0
November 11, 2023
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
🌐
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 › 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().
🌐
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 = …
🌐
W3Schools
w3schools.com › python › ref_list_reverse.asp
Python List reverse() Method
Python Examples Python Compiler ... Q&A Python Bootcamp Python Certificate Python Training ... The reverse() method reverses the sorting order of the elements....
🌐
Python.org
discuss.python.org › ideas
Method for reversing strings - Ideas - Discussions on Python.org
February 20, 2025 - I would like to add a .reverse() method for strings. I think most modern languages have something like that and [::-1] is a bit archaic with little charm. There may be other methods like splitting the string, reversing t…
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 - Notice that reverse() doesn’t return the reversed list but modifies the original one directly. ... New Python content every day.
🌐
Educative
educative.io › answers › how-to-use-the-reverse-and-reversed-methods-in-python
How to use the reverse() and reversed() methods in Python
The reversed() function does not reverse anything but returns an object to iterate over the elements in reverse order.
🌐
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)
🌐
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.
🌐
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
September 20, 2023 - 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).
🌐
Unstop
unstop.com › home › blog › reversing python list | 10 ways explained with code examples
Reversing Python List | 10 Ways Explained With Code Examples
February 3, 2025 - Python reverse list is simply the act of rearranging the elements in reverse order. This operation is essential in many algorithms and can help in situations where the order of elements needs to be flipped for processing.
🌐
GeeksforGeeks
geeksforgeeks.org › python › python-reversing-list
Reversing a List in Python - GeeksforGeeks
This method builds a reversed version of the list using slicing with a negative step. ... Python's built-in reversed() function is another way to reverse the list.
Published   November 26, 2025
🌐
Plain English
python.plainenglish.io › 1-vs-reversed-which-one-is-the-smart-way-to-reverse-a-list-da6ee6c22e2d
[::-1] vs reversed() — Which One Is the Smart Way to Reverse a List? | by Leo Liu | Python in Plain English
April 24, 2025 - New Python content every day. Follow to join our 3.5M+ monthly readers. ... Reversing a list is one of the most common tasks in Python. But when it comes to choosing between [::-1] (slicing) and reversed() (built-in function), most Pythonistas have strong opinions.
🌐
4Geeks
4geeks.com › how-to › how-to-reverse-a-list-in-python
How to Reverse a List in Python?
July 16, 2025 - Let's see how to use both list() and reversed() functions as follows: ... The third option is to use the list slicing syntax. Python list objects have a feature called list slicing, unlike the first method (.reverse()), this option does not modify our original list, rather it creates a copy of it and returns this copy with the elements of the original list flipped or reversed.
🌐
NareshIT
nareshit.com › blogs › how-to-reverse-a-list-in-python-learn-python-list-reverse-method
How to Reverse a List in Python | Learn Python List Reverse() Method
In general, the reversing a List In-Place With the list. reverse() Method. Every list in Python has a built-in reverse() method which is allowed to call to reverse the contents of the list object in-place.
🌐
LearnPython.com
learnpython.com › blog › reverse-range-in-python
How to Reverse a Range in Python | LearnPython.com
September 7, 2022 - In the example above, range() has a default start of 0 and a stop of 5, so it goes from 0 to 4. But since it is wrapped in a reversed() function call, the elements are printed in reverse order. In short, that’s one way to reverse a range in Python!