python反转(逆序)字符串的6种方法详细
程序员文章站
2022-06-27 15:16:27
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的...
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法
方法一:直接使用字符串切片功能逆转字符串
>>> def strreverse(strdemo): return strdemo[::-1] >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
方法二:遍历构造列表法
循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串
>>> def strreverse(strdemo): strlist=[] for i in range(len(strdemo)-1, -1, -1): strlist.append(strdemo[i]) return ''.join(strlist) >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
方法三:使用reverse函数
将字符串转换为列表使用reverse函数
>>> def strreverse(strdemo): strlist = list(strdemo) strlist.reverse() return ''.join(strlist) >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
方法四:借助collections模块方法extendleft
>>> import collections >>> def strreverse(strdemo): deque1=collections.deque(strdemo) deque2=collections.deque() for tmpchar in deque1: deque2.extendleft(tmpchar) return ''.join(deque2) >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
方法五:递归实现
>>> def strreverse(strdemo): if len(strdemo)<=1: return strdemo return strdemo[-1]+strreverse(strdemo[:-1]) >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
方法六:借助基本的swap操作,以中间为基准交换对称位置的字符
>>> def strreverse(strdemo): strlist=list(strdemo) if len(strlist)==0 or len(strlist)==1: return strlist i=0 length=len(strlist) while i < length/2: strlist[i], strlist[length-i-1]=strlist[length-i-1], strlist[i] i+=1 return ''.join(strlist) >>> print(strreverse('jb51.net')) ten.15bj
结果:
ten.15bj
本文讲解的python反转(逆序)字符串的6种方法详细请到这里,更多关于python反转(逆序)字符串的方法请查看下面的相关链接
下一篇: 黥刑到底是什么?为什么能让女子寻死觅活