A list rotation consists of taking the first element and moving it to the end. For instance, if we rotate the list [1,2,3,4,5], we get [2,3,4,5,1]. If we rotate it again, we get [3,4,5,1,2].
Write a Python function rotatelist(l,k) that takes a list l and a positive integer k and returns the list l after k rotations. If k is not positive, your function should return l unchanged. Note that your function should not change l itself, and should return the rotated list.
Here are some examples to show how your function should work.
>>> rotatelist([1,2,3,4,5],1)
[2, 3, 4, 5, 1]
>>> rotatelist([1,2,3,4,5],3)
[4, 5, 1, 2, 3]
>>> rotatelist([1,2,3,4,5],12)
[3, 4, 5, 1, 2]
i have tried solving it but the desired output is not coming
This is my code but it shows different output
def rotatelist(l,k):
if(k>0):
o=-1
p=1
while(o<=k):
x=l.pop(p)
l.insert((p-1),x)
o+=1
else:
return(l)
return(l)
Input
list([1,2,3,4,5],1)
Expected Output
[2, 3, 4, 5, 1]
Actual Output
[2, 1, 3, 4, 5]