反轉(zhuǎn)操作在實際中還沒遇到有什么意義庆猫,權(quán)作練習
3種方法:
1、使用內(nèi)置的reversed函數(shù)
注意python3中reversed函數(shù)返回的是一個迭代器绅络。
def? reversestr(astr):
???????? bstr=’’
???????? for i in reversed('abcde'):
?????????????????? bstr=bstr+i
return bstr
2阅悍、倒序處理
或不用內(nèi)置函數(shù),從字符串尾部開始處理昨稼,如
def reversestr(astr):
??????? bstr=''
??????? length=len(astr)
??????? i=length-1
??????? while i>=0:
??????????????? bstr+=astr[i]
??????????????? i-=1
??????? return bstr
3、遞歸
利用棧的先進后出思想拳锚,依次入棧每個字符假栓,再退棧,打印出每個字符霍掺。
def revstr(astr):
??? if astr=='' or not isinstance(astr,str):
??????? return
??? if len(astr)==1:
??????? return astr
??? return revstr(astr[1::])+astr[0]
?????? 代碼將字符串從左到右的各個字符依次入棧匾荆,在棧結(jié)束的時候,依次回溯并連接杆烁。
?????? 測試用例
>>>revstr('abc123')
'321cba'
>>>revstr('a')????
'a'
>>>revstr('')
>>>?