Python實現字符串反轉


將字符串 s=‘helloword’ 反轉輸出為 ‘drowolleh’,以下通過多種方法實現

1、字符串切片法(常用)

s='helloword'
r=s[::-1]
print(r)

#結果:drowolleh

2、使用reduce

reduce() 函數會對參數序列中元素進行累積。

函數將一個數據集合(鏈表,元組等)中的所有數據進行下列操作:用傳給 reduce 中的函數 function(有兩個參數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個數據用 function 函數運算,最后得到一個結果。

from functools import reduce

s='helloword'
r = reduce(lambda x,y:y+x,s) #lambda匿名函數,冒號前為參數,冒號后為表達式
print(r)

#結果:drowolleh

3、使用遞歸函數

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

#結果:drowolleh

4、使用棧

def func(s):
    l = list(s) #模擬全部入棧
    result = ""
    while len(l)>0:
        result += l.pop() #模擬出棧,pop() 函數用於移除列表中的一個元素(默認最后一個元素),並且返回該元素的值。
    return result
r = func(s)
print(r)

#結果:drowolleh

5、for循環

def func(s):
    result = ""
    max_index = len(s)-1
    for index,value in enumerate(s):  #enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
        result += s[max_index-index]
    return result
r = func(s)
print(r)

#結果:drowolleh

 6、使用列表的reverse方法

該方法沒有返回值,但是會對列表的元素進行反向排序

s='helloword'
l=list(s)
l.reverse()
print("".join(l))   #把列表里的值拼接成一個字符串
# print("".join(l[::-1]))

#結果:drowolleh

 


免責聲明!

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



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