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实现二分法算法实例
Feb 02 Python
Python语言生成水仙花数代码示例
Dec 18 Python
python tensorflow基于cnn实现手写数字识别
Jan 01 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
python实现图片彩色转化为素描
Jan 15 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
简单了解django缓存方式及配置
Jul 19 Python
python解释器spython使用及原理解析
Aug 24 Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 Python
学python最电脑配置有要求么
Jul 05 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
pw的一个放后门的方法分析
2007/10/08 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
降低PHP Redis内存占用
2017/03/23 PHP
JS event使用方法详解
2008/04/28 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python的正则表达式re模块的常用方法
2013/03/09 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python面向对象类的继承实例详解
2018/06/27 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
django的ORM操作 增加和查询
2019/07/26 Python
python 将Excel转Word的示例
2021/03/02 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
行政部总经理岗位职责
2014/01/04 职场文书
个人自荐材料
2014/05/23 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
旷课检讨书
2015/01/26 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA