python 将字符串完成特定的向右移动方法


Posted in Python onJune 11, 2019

# 将字符串中的元素完成特定的向右移动,参数:字符串、移动长度 如:abcdef,移动2,结果:efabcd

#原始方法,基本思想:末尾元素移动到开头,其他的元素依次向后移动.代码如下:

def move(lt, n):
  lt = list(lt)        #将字符串转换为列表
  for i in range(n % len(lt)):#确定移动几次,比如说移动从长度和列表的长度相同时,就没必要移动
    t = lt[len(lt) - 1]   #取出末尾元素
    for j in reversed(range(len(lt) - 1)): #逆序遍历除末尾元素的列表
      lt[j + 1] = lt[j]         #将前一个元素的值赋值给后一个元素
 
    lt[0] = t               #将之前取出的末尾元素的值赋值给列表的首位
  return "".join(lt)             #将列表中拼接成字符串,并返回

上述方法是我基于C语言编写的并未体现python这门语言的好处,下面列出几种方法,可以体现出Python的好处

def move(lt, n):
  lt = list(lt) #将字符串转换为列表
  for i in range(n % len(lt)):  #确定进行几次移动
    lt.insert(0, lt.pop())   #通过列表的pop方法取出末尾元素,在通过insert函数将取出的元素插入到列表的首位
  return "".join(lt) 
 def move(lt, n):
  for i in range(n % len(lt)): #确定进行几次移动
    lt = lt[-1] + lt[0:-1]  #通过字符串的切片,切除最后一个元素,然后加上从开头到倒数第二个元素
  return lt

以上两种方法可以体现出Python语言的简洁性,但作为程序员不能止步不前,C语言才是根本,第一种方法使用C语言的思想编用python语言编写的.

以上这篇python 将字符串完成特定的向右移动方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 网络编程起步(Socket发送消息)
Sep 06 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
对python添加模块路径的三种方法总结
Oct 16 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
Oct 22 Python
python对文件目录的操作方法实例总结
Jun 24 Python
python ubplot使用方法解析
Jan 10 Python
python统计字符的个数代码实例
Feb 07 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
python glom模块的使用简介
Apr 13 Python
python itchat给指定联系人发消息的方法
Jun 11 #Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 #Python
使用Python实现将list中的每一项的首字母大写
Jun 11 #Python
Python中@property的理解和使用示例
Jun 11 #Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 #Python
详解Python3之数据指纹MD5校验与对比
Jun 11 #Python
Python自动抢红包教程详解
Jun 11 #Python
You might like
php异常处理方法实例汇总
2015/06/24 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python操作MongoDB详解及实例
2017/05/18 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python深度优先算法生成迷宫
2018/01/22 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
解决Python二维数组赋值问题
2019/11/28 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
PyQt5实现简单的计算器
2020/05/30 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
勤俭节约主题班会
2015/08/13 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python