用python实现字符串的反转

自己尝试写了一点,并参照网上的前辈代码,总结了几种常用且方便的方法,如下:

#字符串的反转  
#最简单的是:步长为-1, 即字符串的翻转(常用);
def reverse1 (s):  
    rt = ''  
    for i in range(len(s)-1, -1, -1):  
        rt += s[i]  
    return rt  
 
 
def reverse2 (s):  
    li = list(s)  
    #列表的反转
    li.reverse()  
    #print li
    return "".join(li)  

def reverse3 (s):  
    return s[::-1]  
 
def reverse4 (s):  
    #a=reversed(s)
    #print a
    #b="".join(a)
    return "".join(reversed(s))
 
from functools import reduce  
def reverse5 (s):  
    return reduce(lambda x,y:y+x,s)

#使用for循环, 从右至左输出
def reverse6(string):
    return ''.join(string[i] for i in range(len(string)-1, -1, -1))

#交换前后字母的位置
def reverse7(string):
    t = list(string)
    l = len(t)
    for i,j in zip(range(l-1, 0, -1), range(l//2)):
        t[i], t[j] = t[j], t[i]
    return "".join(t)

#双端队列, 使用extendleft()函数
from collections import deque
def reverse8(string):
    d = deque()
    d.extendleft(string)
    return ''.join(d)


if __name__ == '__main__':
    str1=str2=str3=str4=str5=str6=str7=str8 = 'hello  123  congcong\'s python world'
    print reverse1(str1)
    print reverse2(str2)
    print reverse3(str3)
    print reverse4(str4)
    print reverse5(str5)

    print reverse6(str6)
    print reverse7(str7)
    print reverse8(str8)

 

结果:

总结:学习了zip函数

哈哈 ~~加油!

 

posted @ 2016-03-03 15:57  小木桐梧  阅读(543)  评论(0)    收藏  举报