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

yipeiwu_com5年前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中操作列表之List.append()方法的使用

 append()方法追加传递obj到现有的列表。 语法 以下是append()方法的语法: list.append(obj) 参数   &...

解决Python3 被PHP程序调用执行返回乱码的问题

因为有一部分程序是 Python 写的,所以需要 PHP 调用 Python 程序返回数据,使用 exec 返回的是乱码 $data = "Geek程序员" $get = exec(...

利用Celery实现Django博客PV统计功能详解

前言 前几天给网站的文章增加了pv统计,之前只有uv统计。之前没加pv统计是觉得每个用户每访问一次文章,我都需要做一次数据库写操作实在是有损性能,毕竟从用户在the5fire博客的的一...

使用Python实现从各个子文件夹中复制指定文件的方法

之前用来整理图片的小程序,拿来备忘,算是使用Python复制文件的一个例子。 # -*- coding: utf-8 -*- #程序用来拷贝文件并输出图片采集日期等其他信息到Exce...

基于Python执行dos命令并获取输出的结果

这篇文章主要介绍了基于Python执行dos命令并获取输出的结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import os...