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

yipeiwu_com6年前Python基础

# 将字符串中的元素完成特定的向右移动,参数:字符串、移动长度 如: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面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解

本文实例讲述了Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法。分享给大家供大家参考,具体如下: 1. 定义类 python中定义一个类的格式如下: class...

python使用itchat实现手机控制电脑

python使用itchat实现手机控制电脑

本文实例为大家分享了python使用itchat实现手机控制电脑的具体代码,供大家参考,具体内容如下 1.准备材料 首先电脑上需要安装了python,安装了opencv更好(非必需) 如...

基于python的图片修复程序(实现水印去除)

基于python的图片修复程序(实现水印去除)

图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有...

Python中声明只包含一个元素的元组数据方法

调试程序的时候,就吃过这个亏,不知道为何Python使用括号做元组声明边界符,估计是找不到合适的符号了。中括号用来声明列表,花括号用来声明字典,元组号只能用括号来声明了。有其他语言编程经...

python利用hook技术破解https的实例代码

相对于http协议,http是的特点就是他的安全性,http协议的通信内容用普通的嗅探器可以捕捉到,但是https协议的内容嗅探到的是加密后的内容,对我们的利用价值不是很高,所以一些大的...