python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python 字符串反转

Python实现字符串反转的9种方法(最全)

作者:金州饿霸

本文主要介绍了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 字符串反转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文