將字符串 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