码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-12-15 23:34:58      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:result   出栈   面试   rate   pop   python   实现   字符串   ever   

面试遇到的一个特无聊的问题~~~

要求:在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba"

第一种:使用字符串切片

result = s[::-1]

第二种:使用列表的reverse方法

l = list(s)
result = "".join(l.reverse())

当然下面也行

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

第三种:使用reduce

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

第四种:使用递归函数

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

第五种:使用栈

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

第六种: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)

只能想起来这么多了,还有吗?

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

标签:result   出栈   面试   rate   pop   python   实现   字符串   ever   

原文地址:http://www.cnblogs.com/taceywong/p/8045127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!