Python Program to Right Rotate a List by n

Write a Python program to right rotate a list by n times or positions. In this Python right rotate list 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)
Python Program to Right Rotate a List by n

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 List Items = "))

print('Original List Items 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('Final List Items After Right Rotating')
print(rtList)
Enter Position to Rotate List Items = 5
Original List Items Before Right Rotating
[10, 20, 30, 40, 50, 60, 70]
Final List Items 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('\nOriginal List Items Before 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('\nFinal List Items After 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

Original List Items Before Right Rotating
22   44   66   88   128   148   168   
Final List Items After Right Rotating
148   168   22   44   66   88   128