前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容。主要有三种方法:
1.切片法(最简洁的一种)
#切片法
def reverse1():
s=input("请输入需要反转的内容:")
return s[::-1]
reverse1()
#运行结果
In [23]: def reverse1():
...: s=input("请输入需要反转的内容:")
...: return s[::-1]
...:
...: reverse1()
请输入需要反转的内容:你是一个小南瓜
Out[23]: '瓜南小个一是你'
原理是:This is extended slice syntax. It works by doing [begin: end:step] - by leaving begin and end off and specifying a step of -1, it reverses a string.
2.递归
#递归反转
def reverse2(s):
if s=="":
return s
else:
return reverse2(s[1:])+s[0]
reverse2("sidfmawsmdisd是当面问")
#运行结果
In [24]: def reverse2(s):
...: if s=="":
...: return s
...: else:
...: return reverse2(s[1:])+s[0]
...:
...: reverse2("sidfmawsmdisd是当面问")
Out[24]: '问面当是dsidmswamfdis'
3.借用列表,使用reverse()方法
Python中自带reverse()函数,可以处理列表的反转,来看示例:
In [25]: l=['a', 'b', 'c', 'd']
...: l.reverse()
...: print (l)
['d', 'c', 'b', 'a']
reverse()函数将列表的内容进行了反转,借助这个特性,可以先将字符串转换成列表,利用reverse()函数进行反转后,再处理成字符串。
#借用列表,使用reverse()方法
def reverse3(s):
l=list(s)
l.reverse()
print("".join(l))
reverse3("soifmi34pomOsprey,,是")
#运行结果
In [26]: def reverse3(s):
...: l=list(s)
...: l.reverse()
...: print("".join(l))
...:
...: reverse3("soifmi34pomOsprey,,是")
...:
是,,yerpsOmop43imfios
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。