对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法
方法一:直接使用字符串切片功能逆转字符串
1
2
3
4
|
>>> def strReverse(strDemo):
return strDemo[:: - 1 ]
>>> print (strReverse( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
方法二:遍历构造列表法
循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串
1
2
3
4
5
6
7
8
|
>>> def strReverse(strDemo):
strList = []
for i in range ( len (strDemo) - 1 , - 1 , - 1 ):
strList.append(strDemo[i])
return ''.join(strList)
>>> print (strReverse( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
方法三:使用reverse函数
将字符串转换为列表使用reverse函数
1
2
3
4
5
6
7
|
>>> def strReverse(strDemo):
strList = list (strDemo)
strList.reverse()
return ''.join(strList)
>>> print (strReverse( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
方法四:借助collections模块方法extendleft
1
2
3
4
5
6
7
8
9
10
|
>>> import collections
>>> def strReverse(strDemo):
deque1 = collections.deque(strDemo)
deque2 = collections.deque()
for tmpChar in deque1:
deque2.extendleft(tmpChar)
return ''.join(deque2)
>>> print (strReverse( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
方法五:递归实现
1
2
3
4
5
6
7
|
>>> def strReverse(strDemo):
if len (strDemo)< = 1 :
return strDemo
return strDemo[ - 1 ] + strReverse(strDemo[: - 1 ])
>>> print (strReverse( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
方法六:借助基本的Swap操作,以中间为基准交换对称位置的字符
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> 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( 'zzvips.com' ))
ten. spivzz
|
结果:
ten.spivzz
本文讲解的python反转(逆序)字符串的6种方法详细请到这里,更多关于python反转(逆序)字符串的方法请查看下面的相关链接