Question: What is the most efficient way to rotate a list in python? 
Right now I have something like this:

```
>>> def rotate(l, n):
...     return l[n:] + l[:n]
... 
>>> l = [1,2,3,4]
>>> rotate(l,1)
[2, 3, 4, 1]
>>> rotate(l,2)
[3, 4, 1, 2]
>>> rotate(l,0)
[1, 2, 3, 4]
>>> rotate(l,-1)
[4, 1, 2, 3]

```

Is there a better way?

Answer: 
I have similar thing. For example, to shift by two...

```
def Shift(*args):
    return args[len(args)-2:]+args[:len(args)-2]

```
I'm "old school" I define efficiency in lowest latency, processor time and memory usage, our nemesis are the bloated libraries. So there is exactly one right way:

```
    def rotatel(nums):
        back = nums.pop(0)
        nums.append(back)
        return nums

```