python 实现字符串反转的几种方法

字符串切片

test_str = "python is ok."
print(test_str[::-1])

递归的方式

def reverse_str(s):
    if s == "":
        return s
    else:
        return reverse_str(s[1:]) + s[0]
test_str = "python is ok."
print(reverse_str(test_str))

通过列表的reverse函数

test_str = "python is ok."
s = list(test_str)
s.reverse()
test_str = "".join(s)
print(test_str)

通过reduce

from functools import reduce   
test_str = "python is ok."
print(reduce(lambda x, y: y+x, test_str))
#help(reduce)

循环遍历

def rever(s):
    ret = ""
    for i in range(len(s)-1, -1, -1):
        ret += s[i]
    return ret
test_str = "python is ok."
print(rever(test_str))

使用栈的pop方法

def rev(s):
    lst = list(s) # 转换成list
    ret = ""
    while len(lst):
        ret += lst.pop() # 每次弹出最后的元素
    return ret
test_str = "python is ok."
print(rev(test_str))

posted @ 2020-06-07 17:11  sinlearn  阅读(4064)  评论(0编辑  收藏  举报