智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=10737428be8e0c037c28caaeb8038b69

对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法

 

方法一:直接使用字符串切片功能逆转字符串

1
2
3
4
5
#!usr/bin/env python 
# encoding:utf-8 
def strReverse(strDemo):
  return strDemo[::-1
print(strReverse('pythontab.com'))

 

结果:

1
moc.batnohtyp

 

方法二:遍历构造列表法

循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串

1
2
3
4
5
6
7
8
#!usr/bin/env python 
# encoding:utf-8 
def strReverse(strDemo): 
  strList=[] 
  for in range(len(strDemo)-1-1-1): 
    strList.append(strDemo[i])
  return ''.join(strList)
print(strReverse('pythontab.com'))

结果:

1
moc.batnohtyp

 

方法三:使用reverse函数

将字符串转换为列表使用reverse函数

1
2
3
4
5
6
7
#!usr/bin/env python 
# encoding:utf-8 
def strReverse(strDemo): 
  strList = list(strDemo) 
  strList.reverse() 
  return ''.join(strList)
print(strReverse('pythontab.com'))

 

结果:

1
moc.batnohtyp

 

方法四:借助collections模块方法extendleft

1
2
3
4
5
6
7
8
9
10
#!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'))

 

结果:

1
moc.batnohtyp

 

方法五:递归实现

1
2
3
4
5
6
7
#!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'))

 

结果:

1
moc.batnohtyp

 

方法六:借助基本的Swap操作,以中间为基准交换对称位置的字符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!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'))

 

结果:

1
moc.batnohtyp

我们的python技术交流群:941108876
智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=10737428be8e0c037c28caaeb8038b69