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中处理unchecked未捕获异常实例
Jan 17 Python
Python 中 list 的各项操作技巧
Apr 13 Python
python模块之paramiko实例代码
Jan 31 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Python创建数字列表的示例
Nov 28 Python
Tensorflow的梯度异步更新示例
Jan 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
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python写入数据到MP3文件中的方法
2015/07/10 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
EJB的角色和三个对象
2015/12/31 面试题
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
优秀中职教师事迹材料
2014/08/26 职场文书
工作自我评价范文
2015/03/05 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
python基础之文件操作
2021/10/24 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers