Python program to right rotate a list by n

• Difficulty Level : Easy
• Last Updated : 03 Dec, 2021

Given a list, right rotate the list by n position.

Examples :

Input : n = 2
List_1 = [1, 2, 3, 4, 5, 6]
Output : List_1 = [5, 6, 1, 2, 3, 4]
We get output list after right rotating
(clockwise) given list by 2.

Input :  n = 3
List_1 = [3, 0, 1, 4, 2, 3]
Output : List_1 = [4, 2, 3, 3, 0, 1]

Approach #1 : Traverse the first list one by one and then put the elements at required places in a second list.

Python3

 # Python program to right rotate a list by n   # Returns the rotated list   def rightRotate(lists, num):     output_list = []       # Will add values from n to the new list     for item in range(len(lists) - num, len(lists)):         output_list.append(lists[item])       # Will add the values before     # n to the end of new list     for item in range(0, len(lists) - num):         output_list.append(lists[item])       return output_list     # Driver Code rotate_num = 3 list_1 = [1, 2, 3, 4, 5, 6]   print(rightRotate(list_1, rotate_num))

Output :

[4, 5, 6, 1, 2, 3]

Time complexity : O(n)

Approach #2 : Another approach to solve this problem by using slicing technique. One way of slicing list is by using len() method.

Python3

 # Python program to right rotate # a list by n using list slicing n = 3   list_1 = [1, 2, 3, 4, 5, 6] list_1 = (list_1[len(list_1) - n:len(list_1)]                  + list_1[0:len(list_1) - n]) print(list_1)

Output:

[4, 5, 6, 1, 2, 3]

Approach #3 : In the above method, last n elements of list_1 was taken and then remaining elements of list_1. Another way is without using len() method.

Python

 # Right Rotating a list to n positions n = 8   list_1 = [1, 2, 3, 4, 5, 6] if n>len(list_1):     n = int(n%len(list_1)) list_1 = (list_1[-n:] + list_1[:-n])   print(list_1)

Output :

[4, 5, 6, 1, 2, 3]

Time complexity : O(n)

Note : list_1[:] will return the whole list as the blank space on left of slicing operator refers to start of list i.e 0 and blank space on right refers to ending position of list.

My Personal Notes arrow_drop_up
Recommended Articles
Page :