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