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


Posted in Python onApril 09, 2018

第一种方法:特点是直接、容易理解,缺点是速度慢,只能实现循环左移。

def demo(lst, k):
  temp = lst[:]
  for i in range(k):
    temp.append(temp.pop(0))
  return temp

第二种方法:特点是速度快,并且自适应循环左移(k>0)和右移(k<0),缺点是涉及到算法,不容易理解。

def demo(lst, k):
  x = lst[:k]
  x.reverse()
  y = lst[k:]
  y.reverse()
  r = x+y
  return list(reversed(r))

最Pythonic的终极方法:使用切片,简单易理解,速度最快,可同时实现循环左移(k>0)和右移(k<0)。

def demo(lst, k):
  return lst[k:] + lst[:k]

以上这篇Python序列循环移位的3种方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现udp数据报传输的方法
Sep 26 Python
Python获取任意xml节点值的方法
May 05 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
Python编程实现的图片识别功能示例
Aug 03 Python
对python程序内存泄漏调试的记录
Jun 11 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
想学python 这5本书籍你必看!
Dec 11 Python
Flask-WTF表单的使用方法
Jul 12 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
python软件都是免费的吗
Jun 18 Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 #Python
python修改list中所有元素类型的三种方法
Apr 09 #Python
python 获取list特定元素下标的实例讲解
Apr 09 #Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 #Python
Pandas标记删除重复记录的方法
Apr 08 #Python
Python将DataFrame的某一列作为index的方法
Apr 08 #Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 #Python
You might like
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
初步讲解Python中的元组概念
2015/05/21 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
python实现邮件自动发送
2019/08/10 Python
Django继承自带user表并重写的例子
2019/11/18 Python
浅谈Python 函数式编程
2020/06/20 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
求职信格式范本
2013/11/15 职场文书
实践单位评语
2014/04/26 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
安全责任书怎么写
2014/07/28 职场文书
优秀教师单行材料
2014/12/16 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
Spring实现内置监听器
2021/07/09 Java/Android
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技