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中的greenlet包实现并发编程的入门教程
Apr 16 Python
详解Python中的条件判断语句
May 14 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
Python中标准模块importlib详解
Apr 16 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
在python中,使用scatter绘制散点图的实例
Jul 03 Python
如何安装并使用conda指令管理python环境
Jul 10 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Python3进制之间的转换代码实例
Aug 24 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
python3美化表格数据输出结果的实现代码
Apr 14 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
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php实现通过ftp上传文件
2015/06/19 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
php实现简单四则运算器
2020/11/29 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
json跟xml的对比分析
2008/06/10 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
小米公司JavaScript面试题
2014/12/29 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
python实现事件驱动
2018/11/21 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
应届生自荐信范文
2014/02/21 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
英语通知范文
2015/04/22 职场文书
士兵突击观后感
2015/06/16 职场文书