range() and xrange() take a third parameter that specifies a step. So you can do the following.

range(10, 0, -1)

Which gives

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 

But for iteration, you should really be using xrange instead. So,

xrange(10, 0, -1)

Note for Python 3 users: There are no separate range and xrange functions in Python 3, there is just range, which follows the design of Python 2's xrange.

Answer from Chinmay Kanchi on Stack Overflow
🌐
Codecademy
codecademy.com › article › how-to-reverse-a-list-in-python
How to Reverse a List in Python | Codecademy
In the first approach, reversed() is used with list() to create a new reversed list. In the second approach, reversed() is used directly in a for loop to iterate through elements in reverse order without creating a new list.
Discussions

python - What's "better" the reverse method or the reversed built-in function? - Stack Overflow
The memory allocation itself shouldn't ... list constructor is C code, must go through the reverseiterator's API instead of just swapping pointers in a tight C loop. 2011-07-25T06:47:12.707Z+00:00 ... If they have to check for listreverseiterator then they have to check for ... More on stackoverflow.com
🌐 stackoverflow.com
Differences in iteration through a loop in reverse order - Python
You can look up the Official Documentation on range() , to see what it does. The ::-1 notation is Slice Notation , while reversed() just returns an iterator. More on reddit.com
🌐 r/learnprogramming
5
1
August 5, 2021
loops - Traverse a list in reverse order in Python - Stack Overflow
The [::-1] slice reverses the list in the for loop (but won't actually modify your list "permanently"). ... [::-1] creates a shallow copy, therefore it doesn't change the array neither "permanently" nor "temporary". 2009-02-09T19:15:23.307Z+00:00 ... This is slightly slower than using reversed, at least under Python ... More on stackoverflow.com
🌐 stackoverflow.com
iterate over a string in reverse
https://docs.python.org/3/library/functions.html#reversed More on reddit.com
🌐 r/learnpython
7
1
February 7, 2023
🌐
Geek Python
geekpython.in › reverse-vs-reversed-in-python
Reverse Vs Reversed Function In Python - Comparison
January 17, 2024 - We cannot use the reverse function on the string data type or any other data type. The reverse() function can only be used for the list data type. Python reversed() function takes a sequence and returns the reversed iterator object.
🌐
Reddit
reddit.com › r/learnprogramming › differences in iteration through a loop in reverse order - python
r/learnprogramming on Reddit: Differences in iteration through a loop in reverse order - Python
August 5, 2021 -

So I'm building a game that requires me to loop through a list in reverse order.

It seems that there are multiple ways to do this same task, but I want to make sure I understand the differences between the alternative ways.

From what I have found online:

I can use list comprehension -

for _ in desired_list[::-1]

I can use reversed() -

for _ in revered(desired_list)

I can use a range() -

for _ in range(len(desired_list) -1, 0, -1)

Is there any functional difference between these?

Also for the range iteration, could you verify what each number stands for?

It seems to be:

range("number to start on", "number to end up", "direction and distance to travel in list")

Is that correct?

Thank you for any help!

🌐
GeeksforGeeks
geeksforgeeks.org › python › backward-iteration-in-python
Backward iteration in Python - GeeksforGeeks
July 11, 2025 - Python provides various methods ... like reversed(). Use reversed() method when we simply need to loop backwards without modifying original sequence or there is no need to create a new reversed copy....
Find elsewhere
🌐
Python Morsels
pythonmorsels.com › looping-in-reverse
Looping in reverse - Python Morsels
May 27, 2025 - If you're working with a list, a string, or any other sequence in Python, you can reverse that sequence using Python's slicing syntax: >>> colors = ["purple", "blue", "green", "pink", "red"] >>> colors[::-1] ['red', 'pink', 'green', 'blue', 'purple'] The syntax looks weird, but it does work. If we wanted to write a for loop that iterated over our list from the end to the beginning, we could loop over the reversed slice of that list:
🌐
Real Python
realpython.com › python-reverse-list
Reverse Python Lists: Beyond .reverse() and reversed() – Real Python
June 28, 2023 - Sometimes you need to process Python lists starting from the last element down to the first—in other words, in reverse order. In general, there are two main challenges related to working with lists in reverse: ... 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.
🌐
Reddit
reddit.com › r/pythontips › [video] python's reverse() vs reversed() - how they differ
r/pythontips on Reddit: [Video] Python's reverse() Vs reversed() - How they differ
January 16, 2024 - On the flip side, reversed() is a function that returns a reversed iterator, allowing you to create a reversed version without altering the original list.
🌐
Spark By {Examples}
sparkbyexamples.com › home › python › python for loop in backwards
Python For Loop in Backwards - Spark By {Examples}
May 31, 2024 - Usually loop iterations start from front side if you want to get the loop iterations from back side rather than the front side you can use reversed() function. Pass range() function into reversed() function will reverse the range() function ...
🌐
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. It modifies the list but the reversed() method gives an iterator to help traverse the given list in reversed order.
🌐
Real Python
realpython.com › python-range
Python range(): Represent Numerical Ranges – Real Python
November 24, 2024 - You can use len() with all ranges, including empty ones: ... Earlier, you saw that an empty range has no elements. Consistently, len() confirms that its length is zero. If you need to loop over a range in reverse, you can use reversed().
🌐
Programiz
programiz.com › python-programming › methods › built-in › reversed
Python reversed()
... Created with over a decade ... Python programmer. Try Programiz PRO! ... The reversed() function returns an iterator object that provides access to the elements of an iterable (list, tuple, string, etc.) in reverse order....
🌐
Stack Abuse
stackabuse.com › bytes › traversing-a-list-in-reverse-order-in-python
Traversing a List in Reverse Order in Python
August 30, 2023 - The reversed() function and list slicing are Pythonic methods that are simple and readable, while a for loop with range() gives you more control over the iteration.
🌐
TutorialsPoint
tutorialspoint.com › article › backward-iteration-in-python
Backward iteration in Python
2 weeks ago - Slice notation creates a reversed copy of the list and iterates over it ? days = ['Mon', 'Tue', 'Wed', 'Thu'] for item in days[::-1]: print(item)