当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程基础入门 > 使用Python实现字符串反转

使用Python实现字符串反转

发布时间:2020年09月27日 09:51:49 来源: 点击量:679

【摘要】在Python中如何做到字符串反转,有几种方法呢?样例:如 a=& 39;123456789& 39; 反转成 a=& 39;987654321& 39;第一种方法:使用字符串切

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

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

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

>>> 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

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部