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 不同对象比较大小示例探讨
Aug 21 Python
Python跳出循环语句continue与break的区别
Aug 25 Python
Python 自动补全(vim)
Nov 30 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
python实现类之间的方法互相调用
Apr 29 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python实现windows倒计时锁屏功能
Jul 30 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Feb 11 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 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
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
使用隐藏的new来创建对象
2011/03/29 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
python调用百度语音识别api
2018/08/30 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
Django更新models数据库结构步骤
2020/04/01 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
.NET概念性的面试题
2012/02/29 面试题
经济学博士求职自荐信范文
2013/11/23 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
新闻稿怎么写
2015/07/18 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android