Python實現字符串反轉的幾種方法


面試遇到的一個特無聊的問題~~~

要求:在Python環境下用盡可能多的方法反轉字符串,例如將s = "abcdef"反轉成 "fedcba"

第一種:使用字符串切片

result = s[::-1]

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

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

當然下面也行

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)

只能想起來這么多了,還有嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM