對於一個給定的字串,逆序輸出,這個任務對於python來說是一種很簡單的操作,畢竟強大的列表和字串處理的一些列函式足以應付這些問題 了,今天總結了一下python中對於字串的逆序輸出的幾種常用的方法
方法一:直接使用字串切片功能逆轉字串
#!usr/bin/env python # encoding:utf-8 def strReverse(strDemo): return strDemo[::-1] print(strReverse('pythontab.com'))
結果:
moc.batnohtyp
方法二:遍歷構造列表法
迴圈遍歷字串, 構造列表,從後往前新增元素, 最後把列表變為字串
#!usr/bin/env python # encoding:utf-8 def strReverse(strDemo): strList=[] for i in range(len(strDemo)-1, -1, -1): strList.append(strDemo[i]) return ''.join(strList) print(strReverse('pythontab.com'))
結果:
moc.batnohtyp
方法三:使用reverse函式
將字串轉換為列表使用reverse函式
#!usr/bin/env python # encoding:utf-8 def strReverse(strDemo): strList = list(strDemo) strList.reverse() return ''.join(strList) print(strReverse('pythontab.com'))
結果:
moc.batnohtyp
方法四:藉助collections模組方法extendleft
#!usr/bin/env python # encoding:utf-8 import collections def strReverse(strDemo): deque1=collections.deque(strDemo) deque2=collections.deque() for tmpChar in deque1: deque2.extendleft(tmpChar) return ''.join(deque2) print(strReverse('pythontab.com'))
結果:
moc.batnohtyp
方法五:遞迴實現
#!usr/bin/env python # encoding:utf-8 def strReverse(strDemo): if len(strDemo)<=1: return strDemo return strDemo[-1]+strReverse(strDemo[:-1]) print(strReverse('pythontab.com'))
結果:
moc.batnohtyp
方法六:藉助基本的Swap操作,以中間為基準交換對稱位置的字元
#!usr/bin/env python #encoding:utf-8 def strReverse(strDemo): strList=list(strDemo) if len(strList)==0 or len(strList)==1: return strList i=0 length=len(strList) while i < length/2: strList[i], strList[length-i-1]=strList[length-i-1], strList[i] i+=1 return ''.join(strList) print(strReverse('pythontab.com'))
結果:
moc.batnohtyp