这篇文章将为大家详细讲解有关使用Python实现字符串反转的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在Python中如何做到字符串反转,有几种方法呢?

样例:如 a='123456789' 反转成 a='987654321'

第一种方法:使用字符串切片

>>>a='123456789'>>>a=a[::-1]'987654321'

第二种方法:使用reversed() 可读行好,但速度较慢

>>>''.join(reversed('123456789'))'987654321'#封装使用reversed_string(a_string):returna_string[::-1]>>>reversed_string('123456789')'123456789'

注意:

python的str对象中没有内置的反转函数

python字符串相关基础知识:

python中,字符换是不可变,更改字符串不会修改字符串,而是创建一个新的字符串。

字符串是可切片,切片字符串会以给定的增量从字符串中的一个点(向后或向前)向另一个点提供一个新字符串。它们在下标中采用切片表示法或切片对象:

#下标通过在大括号中包含冒号来创建切片:string[start:stop:step]#要在大括号外创建切片,您需要创建切片对slice_obj=slice(start,stop,step)string[slice_obj]

第三种方法:循环从字符串提取数据,然后进行字符串拼接(慢)****

defreverse_a_string_slowly(a_string):new_string=''index=len(a_string)whileindex:index-=1#index=index-1new_string+=a_string[index]#new_string=new_string+characterreturnnew_string

第四种方法:循环从字符串提取数据,写入到一个空列表中,然后使用join进行字符串拼接**(慢)******

defreverse_a_string_more_slowly(a_string):new_strings=[]index=len(a_string)whileindex:index-=1new_strings.append(a_string[index])return''.join(new_strings)

第五种方法:使用字符串拼接(慢)

defstring_reverse(a_string):n=len(a_string)x=""foriinrange(n-1,-1,-1):x+=test[i]returnx

第六种方法:使用reduce

reduce(lambdax,y:y+x,a_string)

第七种方法:使用递归(慢)****

defrev_string(s):iflen(s)==1:returnsreturns[-1]+rev_string(s[:-1])

第八种方法:使用list() 和reverser()配合

a_string='123456789'defrev_string(a_string):l=list(a)l.reverse()return''.join(l)

第九种方法:使用栈

defrev_string(a_string):l=list(a_string)#模拟全部入栈new_string=""whilelen(l)>0:new_string+=l.pop()#模拟出栈returnnew_string

关于使用Python实现字符串反转的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。