当前位置:首页 >> 脚本专栏

python对指定字符串逆序的6种方法(小结)

对于一个给定的字符串,逆序输出,这个任务对于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