Python用切片實現循環移位
定義函數shift,用切片方式實現序列的循環移位
k>0,左移;k<0,右移
>>> def shift(ls,k):
return(ls[k:]+ls[:k])
#例1,tmp左移2位
>>> ls
[1, 2, 3, 4, 5, 6, 7, 8]
>>> tmp = ls[:]
>>> tmp2 = ls[:]
>>> shift(tmp,2)
[3, 4, 5, 6, 7, 8, 1, 2]
#例2,tmp2右移2位
>>> shift(tmp2,-2)
[7, 8, 1, 2, 3, 4, 5, 6]