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和pygame及相应的环境变量配置(图文教程)
Jun 04 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
关于python3中setup.py小概念解析
Aug 22 Python
基于python实现雪花算法过程详解
Nov 16 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
python判断链表是否有环的实例代码
Jan 31 Python
用python发送微信消息
Dec 21 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
python三子棋游戏
May 04 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 4.2书写安全的脚本
2006/10/09 PHP
global.php
2006/12/09 PHP
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python开发中module模块用法实例分析
2015/11/12 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
Python类的动态绑定实现原理
2020/03/21 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
《满井游记》教学反思
2014/02/26 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
社区两委对照检查材料
2014/08/23 职场文书
写给导师的自荐信
2015/03/06 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python