您当前的位置:首页 > 计算机 > 编程开发 > Python

列表元素循环移位中Python切片的妙用

时间:09-09来源:作者:点击数:

之前有个文章中介绍了列表循环移位的3中方法,原文请见

Python序列循环移位的3种方法

其中第二种方法虽然更直接地翻译了题目的要求,但是显得还是有点啰嗦,如果充分利用Python中的切片技术,可以写成下面更简洁的形式:

>>> def demo(lst, k):

    x = 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(lst, -3)

[17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门