温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Python实现字符串反转的方法

发布时间:2020-08-03 10:22:45 来源:亿速云 阅读:199 作者:清晨 栏目:编程语言

这篇文章将为大家详细讲解有关使用Python实现字符串反转的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在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

关于使用Python实现字符串反转的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI