首页 > 编程语言 >列表元素循环移位中Python切片的妙用

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

时间:2023-06-09 19:32:00浏览次数:42  
标签:11 妙用 13 12 10 Python demo lst 移位


之前有个文章中介绍了列表循环移位的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]

已到达温州,宾馆有网络,正好今天有时间就发一篇吧。

标签:11,妙用,13,12,10,Python,demo,lst,移位
From: https://blog.51cto.com/u_9653244/6450807

相关文章

  • Python中的循环结构
    Python主要有for循环和while循环两种形式的循环结构,多个循环可以嵌套使用,并且还经常和选择结构嵌套使用。while循环一般用于循环次数难以提前确定的情况,当然也可以用于循环次数确定的情况;for循环一般用于循环次数可以提前确定的情况,尤其适用于枚举或遍历序列或迭代对象中元素的场合......
  • 使用Python批量随机化文件名
    本文的代码可以把指定文件夹中的所有文件名批量随机化。fromstringimportascii_lettersfromosimportlistdir,renamefromos.pathimportsplitext,joinfromrandomimportchoice,randintdefrandomFilename(directory):forfninlistdir(directory):#......
  • Python enumerate()函数的用法
    1.描述enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。 2.语法enumerate(sequence,[start=0]) 3.参数sequence: 一个序列、迭代器或其他支持迭代对象。start: 下标起始位......
  • Python响应Ctrl键+鼠标滚轮操作动态调整文本框的字号
    编写程序,使用tkinter设计程序界面,其中放置带滚动条的文本框组件ScrolledText,当鼠标悬于该组件上方时,可以通过Ctrl键和鼠标滚轮来动态调整文本框中文本的字号,鼠标滚轮向上滚动时增大字号,向下滚动时减小字号。参考代码:......
  • Python使用tkinter组件Label显示简单数学公式
    任务描述:使用Python+tkinter编写GUI程序界面,使用Label组件显示简单数学公式。参考代码:运行效果:......
  • 使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声
    spleeter是由法国的音乐流媒体公司Deezer开源的项目,可以把音乐文件其分成2、4、5等多个独立的音轨,支持mp3、wav、ogg等常见音频格式。Spleeter基于TensorFlow开发,依赖sniffio、six、oauthlib、rfc3986、requests-oauthlib、numpy、llvmlite、h11、anyio、wheel、tensorbo......
  • Python三种方法统计4位自然数变为黑洞数6174所需次数分布
    对于各位数字互不相同的4位自然数,其各位数字能够组成的最大数减去能够组成的最小数,对得到的差进行同样的操作,7次之内必然得到6174。详见:使用Python验证6174猜想编写程序,统计各位数字互不相同的所有4位自然数变为6174所需要的操作次数,分别统计所需次数一样的数字个数,最后绘制柱状图......
  • Python合并多幅静图为GIF动图
    给定多幅尺寸一样的静态图像文件,编写Python程序合并为GIF动图。准备工作:安装扩展库gif。打开一个PPT(144页幻灯片),另存为jpg图片,选择每张幻灯片一个图片文件。文件夹结构如下:参考代码:运行结果:......
  • Python获取每个用户使用的CPU和内存百分比
    任务描述:编写Python程序,查看当前系统中每个用户使用的CPU和内存百分比。准备工作:安装扩展库psutil。参考代码:连续几次运行结果:......
  • Python批量提取Excel文件中的图片
    任务描述:给定xlsx格式的Excel文件,其中A列为图片名称,B列为图片,格式如下:要求编写Python程序,批量提取B列所有图片,并分别以同一行中A列字符串作为图片文件名称进行保存。准备工作:安装扩展库openpyxl和openpyxl_image_loader。参考代码:运行结果:......