Python字符反转,Python字符串的反转

  Python字符反转,Python字符串的反转

  本文主要介绍Python中字符串反转的五种方法,并编写一个函数,其作用是对输入的字符串进行反转。下面文章详细介绍,需要的朋友可以参考一下。

  00-1010前言方法1方法2方法3方法4方法5

  

目录

  一道题目是实现一个反转字符串的函数,具体如下:

  写一个函数,它的作用是反转输入的字符串。输入字符串以字符数组char[]的形式给出。

  您必须就地修改输入数组,并使用O(1)的额外空间来解决这个问题,而不是将额外空间分配给另一个数组。

  我们可以假设数组中的所有字符都是ASCII码表中可打印的字符。

  示例 1:

  输入:[h , e , l , l , o]

  输出:[o , l , l , e , h]

  示例 2:

  输入:[H , a , n , n , a , h]

  输出:[h , a , n , n , a , H]

  自己动手,大概有以下几种方式。

  

前言

  如果不考虑题目中提到的“就地修改输入数组”,可以通过中间列表的方式实现。

  从列表的尾部向前遍历,可以通过如下2种方式定义索引:

  def reverseString_1(self,s):

  想法:借助一个中间变量temp,然后从S的尾部提取出来,把元素附加到temp上。

  :参数s:

  :返回:

  temp=[]

  对于范围内的I(透镜):

  临时追加(s[len(s)-1-i])

  返回温度

  def reverseString_2(self,s):

  想法:与方法4相同,但有另一种实现方式(与问题8中方法2所用的反向循环相同)

  :参数s:

  :返回:

  temp=[]

  对于I in range (len(s)-1,-1,-1) : # range表示索引范围,len(s)-1表示遍历的第一个元素(即从最后一个元素开始遍历);

  #第一个-1表示最后一个位置,但由于遍历范围的右侧没有闭合,所以这里实际上是最后遍历的第一个元素;

  #秒-1表示步长,每次为-1,即从后向前遍历。

  临时追加(s[i])

  返回温度

  

方法1

  思考一下:

  实际上,倒串可以转化为“首尾元素串交换”,如:第一位和最后一位交换,第二位和最后一位交换,第三位和最后一位交换。

  [1,2,3,4,5,6]

  [6,5,4,3,2,1]

  这样就可以定义两个指针,一个从第一个地方向后遍历,一个从末端向前遍历;

  然后,在每次遍历中交换两个位置的元素,直到遍历完中间的元素。

  定义反向限制(自身,s):

  :类型s:列表[str]

  :rtype: None不返回任何内容,而是就地修改s。

  I=0 #第一个指针,从头开始遍历

  J=len(s)-1 #秒指针,从尾部开始遍历

  而j i: # If ji,保持循环,直到两个指针相遇。

  S[i],s[j]=s[j],s[i] #在2个位置交换元素

  i=1

  j -=1

  返回s

  

方法2

  这个方法比较迂回,提交的时候因为超时(系统给的数组太长)没有通过。但是自测的时候给几个数组,可以逆序输出。

  由于思路如下:是逆序输出的,所以可以交换第一个和第二个元素,然后交换第二个和第三个元素……直到第一个元素移动到最后一个位置;

  但这还没有结束。只是把第一个元素移到了最后。你需要重复上面的步骤,然后将原来的第二个元素(现在是第一个元素)移动到倒数第二个位置(注意:此时不能移动最后一个元素)。

  按照上面的步骤,把所有元素移动一次,就大功告成了。

  定义反向限制(自身,s):

  想法:

  :类型s:列表[str]

  :rtype: None不返回任何内容,而是就地修改s。

  n=0

  而n个透镜:

  i=0

  对于范围(1,透镜-n):中的j

  s[i],s[j]=s[j],s[i]

  i=1

  n=1

  返回s

  

方法3

  利用切片来实现倒序输出:

  定义反向限制(自身,s):

  想法:切片

  S [33603360-1]表示反转s中的元素。

  S [3360]表示阵列中的所有子模块。

  S [3360]=S [33603360-1]表示将原数组反转并赋给S中的每个对应位置。

  S=S [:3360-1]表示将S反转赋给新对象S,与原修改标题不一致。

  :参数s:

  :返回:

  s[:]=s[:-1]

  返回s

  

方法4

  使用reverse()方法,该方法将反转原始列表(注意:反转仅对列表有效)。

  def reverseString_6(self,s):

  :参数s:

  :返回:

  反向开关()

  返回s

  不过reverse()方法的源码,会发现它其实就是利用的切片,如下:

  关于python中字符串反转的五种方法的文章到此结束。关于Python中字符串反转的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 如何对python字符串中字符进行替换,python 替换字符串
  • 如何对python字符串中字符进行替换,python 替换字符串,python字符串替换的2种方法
  • Python字符串转变量,python输出字符和数字变量
  • Python字符串转变量,python输出字符和数字变量,Python将字符串常量转化为变量方法总结
  • python字符串讲解,菜鸟教程python字符串
  • python字符串讲解,菜鸟教程python字符串,python 字符串详解
  • python字符串根据字符截取,python字符串的切片操作
  • python字符串根据字符截取,python字符串的切片操作,Python中的字符串切片(截取字符串)的详解
  • python中字符串的切片,python字符串
  • python中字符串的切片,python字符串,Python中字符串切片详解
  • python 去除字符串中的空格,python字符串去除空格
  • python 去除字符串中的空格,python字符串去除空格,Python 字符串去除空格的五种方法
  • ,,Python字符串拼接的4种方法实例
  • ,,Python字符串匹配之6种方法的使用详解
  • python编写函数去掉字符串中的空格,python字符串怎么去空格
  • 留言与评论(共有 条评论)
       
    验证码: