[Tutor] cyclically rotate a list.

alan.gauld@bt.com alan.gauld@bt.com
Thu, 14 Feb 2002 14:34:12 -0000


> How does one cyclically rotate a list (of arbitary size)
> so that given a list x= [0, 1, 2, 3, 4, 5, 6] one could say:
> rotate(x, y=0) -->[0, 1, 2, 3, 4, 5, 6]
> rotate(x, y=1) -->[1, 2, 3, 4, 5, 6, 0]

Warning: untested pseudo code:

def rotate (aList, steps=1):
  for i in range(steps):  
    first = aList[0]
    aList = aList[1:]
    aList.append(first)
    return aList

Or somthing similar?

Alan g.