How to Reverse a List in Python

In Python, a list is a data structure used to store a collection of elements, which can be of different data types, such as integers, strings, and even other lists. Lists are ordered, mutable (i.e., you can change their contents), and allow duplicates.

There are several methods to reverse a Python list, and the following section explain each one in detail with examples:

Using the reverse() method

The easiest way to reverse a list in Python is to use the built-in reverse() method. This method modifies the original list in place, and does not return a new list.

my_list = [100, 200, 300, 400, 500] my_list.reverse() print(my_list) # Output: [500, 400, 300, 200, 100]

Using slicing notation

Another way to reverse a list is to use slicing notation. Slicing allows you to extract a portion of the list, and by specifying the start and end indices, you can extract the entire list in reverse order.

my_list = [100, 200, 300, 400, 500] reversed_list = my_list[::-1] print(reversed_list) # Output: [500, 400, 300, 200, 100]

Using the reversed() function

The reversed() function returns an iterator that generates the items of the original list in reverse order. You can use the list() function to convert the iterator into a list.

my_list = [100, 200, 300, 400, 500] reversed_list = list(reversed(my_list)) print(reversed_list) # Output: [500, 400, 300, 200, 100]

Using a loop


how to reverse a list in python

You can also reverse a list by iterating over it and appending each item to a new list in reverse order.

my_list = [100, 200, 300, 400, 500] reversed_list = [] for i in range(len(my_list) - 1, -1, -1): reversed_list.append(my_list[i]) print(reversed_list) # Output: [500, 400, 300, 200, 100]

Using the list comprehension

List comprehension is a concise way to create a new list by iterating over an existing list. You can use list comprehension to reverse a list by iterating over it in reverse order.

my_list = [100, 200, 300, 400, 500] reversed_list = [my_list[i] for i in range(len(my_list) - 1, -1, -1)] print(reversed_list) # Output: [500, 400, 300, 200, 100]

Choose the method that fits your needs best.