zoukankan      html  css  js  c++  java
  • Python3之实现字符反转

      参考:https://www.cnblogs.com/jasmine0627/p/9510296.html

      将字符串s="helloworld"反转为‘dlrowolleh’

      fanzhuan.py

    s='helloworld'
    #1切片法最常用
    r=s[::-1]
    print('切片法',r)
    
    #2使用reduce
    from functools import reduce
    #匿名函数,冒号前面为参数,冒号后为返回结果
    #第一步x='h',y='e'返回字符串'eh'把这个结果作为新的参数x='eh' y='l' 结果为leh依次类推就把字符串反转了
    r=reduce(lambda x,y:y+x,s)
    print('reduce函数',r)
    
    #3使用递归函数
    def func(s):
        if len(s)<1:
            return s
        return func(s[1:])+s[0]
    
    r=func(s)
    print('递归函数法',r)
    
    #4使用栈
    def func(s):
        l=list(s)
        result=''
        #把字符串转换成列表pop()方法删除最后一个元素并把该元素作为返回值
        while len(l):
            result=result+l.pop()
        return result
    
    r=func(s)
    print('使用栈法',r)
    
    #5for循环
    def func(s):
        result=''
        max_index=len(s)
        #for循环通过下标从最后依次返回元素
        for index in range(0,max_index):
            result=result+s[max_index-index-1]
        return result
    
    r=func(s)
    print('使用for循环法',r)
    
    #6使用列表reverse法
    l=list(s)
    #reverse方法把列表反向排列
    l.reverse()
    #join方法把列表组合成字符串
    r="".join(l)
    print('使用列表reverse法',r)
    

      输出

    切片法 dlrowolleh
    reduce函数 dlrowolleh
    递归函数法 dlrowolleh
    使用栈法 dlrowolleh
    使用for循环法 dlrowolleh
    使用列表reverse法 dlrowolleh
    

      

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    141. Linked List Cycle
    hdu1028 划分数
    XDU1019 阶乘因子的个数
    poj2773 容斥原理
    poj1091 容斥原理的应用
    poj1173 多重集组合数
    HDU 1465 错排问题
    poj 1496
    复习之求一个数的约束之积模一个质数
  • 原文地址:https://www.cnblogs.com/minseo/p/11065920.html
Copyright © 2011-2022 走看看