python對指定字串逆序的6種方法

pythontab發表於2018-04-26

對於一個給定的字串,逆序輸出,這個任務對於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


相關文章