python反转(逆序)字符串的6种方法详细

时间:2021-12-08 04:47:15

对于一个给定的字符串,逆序输出,这个任务对于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反转(逆序)字符串的方法请查看下面的相关链接