Python | Reversing a List
Python provides us with various ways of reversing a list. We will go through few of the many techniques on how a list in python can be reversed.
Examples:
Input : list = [10, 11, 12, 13, 14, 15] Output : [15, 14, 13, 12, 11, 10] Input : list = [4, 5, 6, 7, 8, 9] Output : [9, 8, 7, 6, 5, 4]
Method 1: Using the reversed() built-in function.
In this method, we neither reverse a list in-place(modify the original list), nor we create any copy of the list. Instead, we get a reverse iterator which we use to cycle through the list.
# Reversing a list using reversed() def Reverse(lst): return [ele for ele in reversed (lst)] # Driver Code lst = [ 10 , 11 , 12 , 13 , 14 , 15 ] print (Reverse(lst)) |
Output:
[15, 14, 13, 12, 11, 10]
Method 2: Using the reverse() built-in function.
Using the reverse() method we can reverse the contents of the list object in-place i.e., we don’t need to create a new list instead we just copy the existing elements to the original list in reverse order. This method directly modifies the original list.
# Reversing a list using reverse() def Reverse(lst): lst.reverse() return lst lst = [ 10 , 11 , 12 , 13 , 14 , 15 ] print (Reverse(lst)) |
Output:
[15, 14, 13, 12, 11, 10]
Method 3: Using the slicing technique.
In this technique, a copy of the list is made and the list is not sorted in-place. Creating a copy requires more space to hold all of the existing elements. This exhausts more memory.
# Reversing a list using slicing technique def Reverse(lst): new_lst = lst[:: - 1 ] return new_lst lst = [ 10 , 11 , 12 , 13 , 14 , 15 ] print (Reverse(lst)) |
Output:
[15, 14, 13, 12, 11, 10]