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

2014年12月8日 发表评论 阅读评论

这是一道面试题,要求在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba" 。

方法1:字符串切片

result = s[::-1]

方法2:使用列表的reverse方法

l = list(s)
l.reverse()
result = "".join(l)
或者
l = list(s)
result = "".join(l[::-1])

方法3:使用reduce

result = reduce(lambda x,y:y+x,s)

方法4:使用递归函数

def func(s):
    if len(s) <1:
        return s
    return func(s[1:])+s[0]
result = func(s)

方法5:使用栈

def func(s):
    l = list(s) #模拟全部入栈
    result = ""
    while len(l)>0:
        result += l.pop() #模拟出栈
    return result
result = func(s)

方法6:for循环

def func(s):
    result = ""
    max_index = len(s)-1
    for index,value in enumerate(s):
        result += s[max_index-index]
    return result
result = func(s)




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.