Write a Python program to right rotate a list by n times or positions. In this Python right rotate example, we used the negative numbers to slice the list from the right side and combined it using arithmetic +.
rtList = [10, 20, 30, 40, 50, 60, 70] rtRotate = int(input("Enter Position to Rotate List Items = ")) print('Original List Items Before Right Rotating') print(rtList) list1 = rtList[-rtRotate:] + rtList[:-rtRotate] print('\nFinal List Items After Right Rotating') print(list1)
In this Python program, we used the nested for loop range to right rotate the list items by the user given number n or position.
rtList = [10, 20, 30, 40, 50, 60, 70] rtRotate = int(input("Enter Position to Rotate Items = ")) print('Before Right Rotating') print(rtList) length = len(rtList) - 1 for i in range(rtRotate): lastValue = rtList[length] for j in range(length,-1, -1): rtList[j] = rtList[j - 1] rtList[0] = lastValue print('After Right Rotating') print(rtList)
Enter Position to Rotate Items = 5
Before Right Rotating
[10, 20, 30, 40, 50, 60, 70]
After Right Rotating
[30, 40, 50, 60, 70, 10, 20]
This Python program allows entering the list size, items, position and rotates the list items towards the right-hand side by given positions.
def printListItems(rtList): for i in range(len(rtList)): print(rtList[i], end = ' ') rtList = [] rtListTot = int(input("Total Number of List Items = ")) for i in range(1, rtListTot + 1): rtListvalue = int(input("Please enter the %d List Item = " %i)) rtList.append(rtListvalue) rtRotate = int(input("Enter Position to Rotate List Items = ")) print('\nOriginal List Items Before Right Rotating') printListItems(rtList) length = len(rtList) - 1 for i in range(rtRotate): lastValue = rtList[length] for j in range(length,-1, -1): rtList[j] = rtList[j - 1] rtList[0] = lastValue print('\nFinal List Items After Right Rotating') printListItems(rtList)
Total Number of List Items = 9
Please enter the 1 List Item = 2
Please enter the 2 List Item = 4
Please enter the 3 List Item = 6
Please enter the 4 List Item = 8
Please enter the 5 List Item = 10
Please enter the 6 List Item = 12
Please enter the 7 List Item = 14
Please enter the 8 List Item = 16
Please enter the 9 List Item = 18
Enter Position to Rotate List Items = 3
Original List Items Before Right Rotating
2 4 6 8 10 12 14 16 18
Final List Items After Right Rotating
14 16 18 2 4 6 8 10 12
Python program to right rotate a list by n using a while loop
def printListItems(rtList): i = 0 while i < len(rtList): print(rtList[i], end = ' ') i = i + 1 rtList = [] rtListTot = int(input("Total Number of List Items = ")) i = 1 while i <= rtListTot: rtListvalue = int(input("Please enter the %d List Item = " %i)) rtList.append(rtListvalue) i = i + 1 rtRotate = int(input("Enter Position to Rotate List Items = ")) print('\nBefore Right Rotating') printListItems(rtList) length = len(rtList) - 1 i = 0 while i < rtRotate: lastValue = rtList[length] j = length while j >= 0: rtList[j] = rtList[j - 1] j = j - 1 i = i + 1 rtList[0] = lastValue print('\nAfter Right Rotating') printListItems(rtList)
Total Number of List Items = 7
Please enter the 1 List Item = 22
Please enter the 2 List Item = 44
Please enter the 3 List Item = 66
Please enter the 4 List Item = 88
Please enter the 5 List Item = 128
Please enter the 6 List Item = 148
Please enter the 7 List Item = 168
Enter Position to Rotate List Items = 2
Before Right Rotating
22 44 66 88 128 148 168
After Right Rotating
148 168 22 44 66 88 128