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语言的优雅之处
Jul 04 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
Python3实现购物车功能
Apr 18 Python
Python贪心算法实例小结
Apr 22 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
Python 学习教程之networkx
Apr 15 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
python 计算数据偏差和峰度的方法
Jun 29 Python
python3中的logging记录日志实现过程及封装成类的操作
May 12 Python
python实现感知机模型的示例
Sep 30 Python
浅谈Python __init__.py的作用
Oct 28 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
jQuery简单实现banner图片切换
2014/01/02 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python变量作用范围实例分析
2015/07/07 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
微博营销计划书
2014/01/10 职场文书
亲属关系公证书
2014/04/08 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
学校计划生育责任书
2015/05/09 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android