I want to shift all elements of a Python list to the right by one position and make the last element the first element. How can I do this in a Pythonic way?

+2 votes

Best answer

Although you want to shift the list elements to the right, you can do this by decreasing their current indices by 1. Thus, the last element will become the first element, and all other elements will be shifted to the right.

Here is an example:

>>> a=[1,2,3,4,5]

>>> [a[i-1] for i in range(len(a))]

[5, 1, 2, 3, 4]