之前有个文章中介绍了列表循环移位的3中方法,原文请见:Python序列循环移位的3种方法
其中第二种方法虽然更直接地翻译了题目的要求,但是显得还是有点啰嗦,如果充分利用Python中的切片技术,可以写成下面更简洁的形式...= lst[k-1::-1]
y = lst[:k-1:-1]
return list(reversed(x+y))
#测试用的列表
>>> lst = list(range(20))
#循环左移...3位
>>> demo(lst, 3)
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2]
#循环左移5位
>>...> demo(lst, 5)
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4]
#循环右移3位
>>> demo