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代码
Mar 13 Python
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
Python实现的检测网站挂马程序
Nov 30 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
快速入门python学习笔记
Dec 06 Python
python使用turtle库绘制树
Jun 25 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
python opencv实现简易画图板
Aug 27 Python
教你漂亮打印Pandas DataFrames和Series
May 29 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 XML error parsing SOAP payload on line 1
2010/06/17 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
python生成随机mac地址的方法
2015/03/16 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
简单实现python进度条脚本
2017/12/18 Python
python代码实现ID3决策树算法
2017/12/20 Python
对python的文件内注释 help注释方法
2018/05/23 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python中存取文件的4种不同操作
2018/07/02 Python
python实现自动登录
2018/09/17 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
python pandas 时间日期的处理实现
2019/07/30 Python
python web框架中实现原生分页
2019/09/08 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
测绘工程系学生的自我评价
2013/11/30 职场文书
2019新员工心得体会
2019/06/25 职场文书
mysql sql常用语句大全
2022/06/21 MySQL