Python实现字符串反转的9种方法(最全)
样例:如 a='123456789' 反转成 a='987654321'
第一种方法:使用字符串切片(简单好用)
a = '123456789' print(a[::-1])
运行结果:987654321
第二种方法:使用reversed() 可读行好,但速度较慢
print(''.join(reversed('123456789')))
运行结果:987654321
封装使用:
def reversed_string(a_string): return a_string[::-1] print(reversed_string('123456789'))
运行结果:987654321
注意:
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
第四种方法:循环从字符串提取数据,写入到一个空列表中,然后使用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实现字符串反转的9种方法(最全)的文章就介绍到这了,更多相关Python 字符串反转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解Django中views数据查询使用locals()函数进行优化
这篇文章主要介绍了Django中views数据查询使用locals()函数进行优化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08Python3 使用map()批量的转换数据类型,如str转float的实现
今天小编就为大家分享一篇Python3 使用map()批量的转换数据类型,如str转float的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-11-11
最新评论