前段時間看到letcode上的元音字母字符串反轉的題目,今天來研究一下字符串反轉的內容。主要有三種方法:html
#切片法 def reverse1(): s=input("請輸入須要反轉的內容:") return s[::-1] reverse1() #運行結果 In [23]: def reverse1(): ...: s=input("請輸入須要反轉的內容:") ...: return s[::-1] ...: ...: reverse1() 請輸入須要反轉的內容:你是一個小南瓜 Out[23]: '瓜南小個一是你'
參考stackflow上的答案。
原理是:This is extended slice syntax. It works by doing [begin:end:step] - by leaving begin and end off and specifying a step of -1, it reverses a string.python
#遞歸反轉 def reverse2(s): if s=="": return s else: return reverse2(s[1:])+s[0] reverse2("sidfmawsmdisd是當面問") #運行結果 In [24]: def reverse2(s): ...: if s=="": ...: return s ...: else: ...: return reverse2(s[1:])+s[0] ...: ...: reverse2("sidfmawsmdisd是當面問") Out[24]: '問面當是dsidmswamfdis'
Python中自帶reverse()函數,能夠處理列表的反轉,來看示例:ios
In [25]: l=['a', 'b', 'c', 'd'] ...: l.reverse() ...: print (l) ['d', 'c', 'b', 'a']
reverse()函數將列表的內容進行了反轉,藉助這個特性,能夠先將字符串轉換成列表,利用reverse()函數進行反轉後,再處理成字符串。ruby
#借用列表,使用reverse()方法 def reverse3(s): l=list(s) l.reverse() print("".join(l)) reverse3("soifmi34pomOsprey,,是") #運行結果 In [26]: def reverse3(s): ...: l=list(s) ...: l.reverse() ...: print("".join(l)) ...: ...: reverse3("soifmi34pomOsprey,,是") ...: 是,,yerpsOmop43imfios
今天的學習就到這裏。貼上letcode上元音字母反轉的地址,待後續研究。bash