Use the built-in reversed() function:

>>> a = ["foo", "bar", "baz"]
>>> for i in reversed(a):
...     print(i)
... 
baz
bar
foo

To also access the original index, use enumerate() on your list before passing it to reversed():

>>> for i, e in reversed(list(enumerate(a))):
...     print(i, e)
... 
2 baz
1 bar
0 foo

Since enumerate() returns a generator and generators can't be reversed, you need to convert it to a list first.

Answer from Greg Hewgill on Stack Overflow
🌐
GeeksforGeeks
geeksforgeeks.org › python › backward-iteration-in-python
Backward iteration in Python - GeeksforGeeks
July 11, 2025 - a = [10, 20, 30, 40, 50] #Loop through the list #using reversed() to reverse the order of list for b in reversed(a): print(b) ... Let's explore more methods that helps to iterate backward on any iterable. Here are some common approaches: ... range function is provided with three arguments(N, -1, -1). Use this method when we need to modify elements or access their indices. ... s = "Python" # - len(s) - 1: Start at the last index # - -1: Ensures the loop stops after the first character # - -1: The step value to iterate backwards for i in range(len(s) - 1, -1, -1): print(s[i])
Discussions

How can I search backwards through a list without actually reversing the list order?
You can iterate backwards, with the correct indices, like this: for i,x in reversed(list(enumerate(numbers))): You can skip the first value, starting from the end, by using a set to keep track of values once you've seen them, and quickly checking it to see if it's already been seen. It's somewhat traditional to name this set "seen". More on reddit.com
🌐 r/learnpython
17
9
April 18, 2021
Iterate Backwards in Python with Index - Ask a Question - TestMu AI Community
How can I iterate backwards in Python to traverse a list in reverse order, starting from collection[len(collection)-1] and ending at collection[0]? I also want to be able to access the loop index during the iteration. More on community.testmuai.com
🌐 community.testmuai.com
0
December 8, 2024
python - Reverse index in a list - Stack Overflow
For the list k1=[31.0, 72, 105.0, 581.5, 0, 0, 0], I would like to add a constant for example 100 to the first non-zero element in the reverse list. this is what I want: newk1=[0, 0, 0, 681.5, 105,... More on stackoverflow.com
🌐 stackoverflow.com
loops - How to traverse a list in reverse order in Python (index-style: '... in range(...)' only) - Stack Overflow
I'm new to Python so I am still getting used to looping in this language. So, for example, I have the following code (the element type in the list is array) my_list = [array0, array1, array2, arr... More on stackoverflow.com
🌐 stackoverflow.com
🌐
Real Python
realpython.com › python-reverse-list
Reverse Python Lists: Beyond .reverse() and reversed() – Real Python
June 28, 2023 - This loop iterates through a range object that goes from 0 to len(digits) // 2. Each iteration swaps an item from the first half of the list with its mirror counterpart in the second half. The expression -1 - i inside the indexing operator, [], guarantees access to the mirror item. You can also use the expression -1 * (i + 1) to provide the corresponding mirror index. Besides the above algorithm, which takes advantage of index substitution, there are a few different ways to reverse lists by hand.
🌐
Codecademy
codecademy.com › article › how-to-reverse-a-list-in-python
How to Reverse a List in Python | Codecademy
This approach is less commonly used but gives us full control over the reversal process. ... range(len(list_name) - 1, -1, -1): Iterates over the indices of the list in reverse order, starting from the last index and ending at 0
🌐
Bobby Hadz
bobbyhadz.com › blog › python-enumerate-reverse-order
Iterate over a List or String in Reverse order in Python | bobbyhadz
Use the enumerate() function to get access to the index. Convert the enumerate object to a list and reverse the list. Use a for loop to iterate over the list in reverse order.
🌐
Delft Stack
delftstack.com › home › howto › python › python iterate list backwards
How to Iterate List Backwards in Python | Delft Stack
March 13, 2025 - In this example, we create reversed_list using list comprehension. The expression range(len(my_list)-1, -1, -1) generates indices starting from the last index down to zero. We then access each item in my_list using these indices.
🌐
Medium
geekpython.medium.com › 8-ways-to-reverse-the-elements-in-a-python-list-ad50889bdd7e
8 Ways To Reverse The Elements In A Python List | by Sachin Pal | Medium
November 25, 2022 - In the above Python program, we ... using list comprehension. ... Python list has a special method called __reversed__() that helps in reverse iteration....
Find elsewhere
🌐
TestMu AI Community
community.testmuai.com › ask a question
Iterate Backwards in Python with Index - Ask a Question - TestMu AI Community
December 8, 2024 - How can I iterate backwards in Python to traverse a list in reverse order, starting from collection[len(collection)-1] and ending at collection[0]? I also want to be able to access the loop index during the iteration.
🌐
Towards Data Science
towardsdatascience.com › home › latest › how to reverse python lists more efficiently
How To Reverse Python Lists More Efficiently | Towards Data Science
January 20, 2025 - Note that you could even convert the iterator into a list: >>> my_lst = [10, 0, 30, 25, 40, 100, 80] >>> my_lst_reverse = list(reversed(my_lst)) >>> my_lst_reverse [80, 100, 40, 25, 30, 0, 10] But if this is your end goal then I would personally go for the list.reverse() approach. In today’s short tutorial we demonstrated two different ways for reversing a list of objects in Python. More specifically, we showcased how to do so using slicing with step size, the reverse() method of list as well as the built-in reversed() Python method.
🌐
Techie Delight
techiedelight.com › home › python › traverse a list in reverse order in python
Traverse a list in reverse order in Python | Techie Delight
2 weeks ago - You can pass the list to the built-in function reversed(), which returns a reverse iterator and doesn’t modify the list. ... If you need the indices, use the enumerate() function for getting the position index and corresponding ...
🌐
FavTutor
favtutor.com › blogs › reverse-list-python
Reverse Python List (9 Easy Ways) | FavTutor
March 30, 2022 - In the for loop, add the iterator as a list element at the beginning with the new list elements. So in that way, the list elements will be reversed. This approach can be used when you don't want to use in-built methods and want to build logic ...
🌐
Steemit
steemit.com › python › @makerhacks › reversing-iteration-going-through-a-list-forwards-and-backwards-in-python
Reversing Iteration: Going through a list forwards and backwards in Python — Steemit
May 29, 2018 - One of the things Python lacks is the in-built ability to go back one item when iterating through a list. Yes, you can reverse the whole list, or work from the end, but if you are in the middle of the list you can not just skip back one item. There is no undo. Fortunately, you CAN iterate via the index number of the array, but it means you need a little extra in your code to make navigating the list simple.
🌐
Stack Abuse
stackabuse.com › bytes › traversing-a-list-in-reverse-order-in-python
Traversing a List in Reverse Order in Python
August 30, 2023 - It's especially useful when you need to iterate over the list in reverse order, but don't want to modify the original list. fruits = ['apple', 'banana', 'cherry'] for fruit in reversed(fruits): print(fruit) ... No spam ever. Unsubscribe anytime. Read our Privacy Policy. ... List slicing is another Pythonic method. It's concise and readable, but it creates a copy of the list, which might not be desirable if you're working with a large list due to memory usage.
🌐
Python Guides
pythonguides.com › iterate-through-a-list-backward-in-python
How To Iterate Through A List Backward In Python?
March 19, 2025 - The range() function takes three arguments: the starting index (len(customers) - 1), the ending index (-1), and the step value (-1). By specifying a negative step value, we iterate through the indices in reverse order. Read How to Merge Lists Without Duplicates in Python?
🌐
Cherry Servers
cherryservers.com › home › blog › python › how to reverse a list in python (using 3 simple ways)
How to Reverse a List in Python (Using 3 Simple Ways) | Cherry Servers
November 7, 2025 - Python’s reversed() function offers an easy method to reverse the elements of a list. Unlike other methods, reversed() doesn't make a new or changed list directly. Instead, it returns an iterator that can be used to go through the list in ...
🌐
TutorialsPoint
tutorialspoint.com › article › backward-iteration-in-python
Backward iteration in Python
Use reversed() for the most Pythonic and memory-efficient backward iteration. Use [::-1] for short, readable code when a copy is acceptable. Use range() with a negative step when you need access to the index during iteration.