When working with lists in Python, you may sometimes need to reverse the elements of a list. Reversing a list means that the first element of the list becomes the last, the second become second-to-last, the last element becomes the first, and so on.

In Python, there are several different ways to reverse a list, depending on what you’re trying to do.

## `reverse()` method #

`reverse()` is a list data type method that reverses the elements of the list in-place. This method modifies the original list rather than creating a new one.

The syntax of the `reverse()` method is as follows:

``````list.reverse()
``````

`reverse()` doesn’t accept arguments.

Here is an example:

``````capitals = ['Oslo', 'Skopje', 'Riga', 'Madrid']

capitals.reverse()

print('Reversed list:', capitals)
``````
``````Reversed list: ['Madrid', 'Riga', 'Skopje', 'Oslo']
``````

## `reversed()` function #

`reversed()` is a Python built-in function that returns a reversed iterator of a given iterable object. The original list is not modified.

If you only want to iterate over the list’s elements in reverse order prefer using the `reversed()` function, as it is faster than reversing the elements in place`.

The syntax of the `reversed()` function is as follows:

``````reversed(seq)
``````

Where `seq` is the list you want to revert.

Below is an example using `reversed()` to loop over the elements of list in reversed order:

``````numbers = [1, 2, 3, 4]

for i in reversed(numbers) :
print(i)
``````
``````4
3
2
1
``````

If you want to convert the reversed iterator into a list, use the `list()` constructor:

``````numbers = [1, 2, 3, 4]

print(list(reversed(numbers)))
``````
``````[4, 3, 2, 1]
``````

## Reverse a List using Slicing #

Slice notation is a Python built-in feature that allows you to extract parts of a sequential data type. Although not very Pythonic, you can use the `[::-1]` notation reverse a list:

``````numbers = [1, 2, 3, 4]

print(numbers[::-1])
``````

The result of slicing a list is a new list containing the extracted elements. The original list is not modified.

``````[4, 3, 2, 1]
``````

## Conclusion #

To reverse a Python list in place, use the `reverse()` method. If you only need to create a reversed iterator, use the `reversed()` function.

If you have any questions or feedback, feel free to leave a comment.