黑马程序员技术交流社区

标题: python对指定字符串逆序的5种方法 [打印本页]

作者: 可乐1997    时间: 2018-8-1 23:06
标题: python对指定字符串逆序的5种方法
对于一个给定的字符串,逆序输出,这个任务对于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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2