最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用Python实现字符串反转

    正文概述    2020-09-15   232

    在Python中如何做到字符串反转,有几种方法呢?

    样例:如 a='123456789' 反转成 a='987654321'

    使用Python实现字符串反转

    第一种方法:使用字符串切片

    >>> a='123456789' 
    >>> a = a[::-1]
    '987654321'

    第二种方法:使用reversed() 可读行好,但速度较慢

    >>> ''.join(reversed('123456789'))
    '987654321'
    # 封装使用
     reversed_string(a_string):
        return a_string[::-1]
    >>> reversed_string('123456789')
    '123456789'

    注意:

    python的str对象中没有内置的反转函数

    python字符串相关基础知识:

    python中,字符换是不可变,更改字符串不会修改字符串,而是创建一个新的字符串。

    字符串是可切片,切片字符串会以给定的增量从字符串中的一个点(向后或向前)向另一个点提供一个新字符串。它们在下标中采用切片表示法或切片对象:

    # 下标通过在大括号中包含冒号来创建切片:
    string[start:stop:step]
    # 要在大括号外创建切片,您需要创建切片对
    slice_obj = slice(start, stop, step)
    string[slice_obj]

    第三种方法:循环从字符串提取数据,然后进行字符串拼接(慢)****

    def reverse_a_string_slowly(a_string):
        new_string = ''
        index = len(a_string)
        while index:
            index -= 1                    # index = index - 1
            new_string += a_string[index] # new_string = new_string + character
        return new_string

    第四种方法:循环从字符串提取数据,写入到一个空列表中,然后使用join进行字符串拼接**(慢)******

    def reverse_a_string_more_slowly(a_string):
        new_strings = []
        index = len(a_string)
        while index:
            index -= 1                       
            new_strings.append(a_string[index])
        return ''.join(new_strings)

    第五种方法:使用字符串拼接(慢)

    def string_reverse(a_string):
        n = len(a_string)
        x=""
        for i in range(n-1,-1,-1):
            x += test[i]
        return x

    第六种方法:使用reduce

    reduce(lambda x,y : y+x, a_string)

    第七种方法:使用递归(慢)****

    def rev_string(s): 
        if len(s) == 1:
            return s
        return s[-1] + rev_string(s[:-1])

    第八种方法:使用list() 和reverser()配合

    a_string='123456789'
    def rev_string(a_string):
        l=list(a)
        l.reverse()
        return ''.join(l)

    第九种方法:使用栈

    def rev_string(a_string):
        l = list(a_string) #模拟全部入栈
        new_string = ""
        while len(l)>0:
            new_string += l.pop() #模拟出栈
        return new_string

    起源地下载网 » 使用Python实现字符串反转

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元