对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法
方法一:直接使用字符串切片功能逆转字符串
12345 | #!usr/bin/env python
# encoding:utf-8
def strReverse(strDemo): return strDemo[:: - 1 ] print (strReverse( 'pythontab.com' )) |
结果:
1 | moc.batnohtyp |
方法二:遍历构造列表法
循环遍历字符串, 构造列表,从后往前添加元素, 最后把列表变为字符串
12345678 | #!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函数
1234567 | #!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
12345678910 | #!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 |
方法五:递归实现
1234567 | #!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操作,以中间为基准交换对称位置的字符
1234567891011121314 | #!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 |
原文来源:https://www.pythontab.com/html/2018/pythonjichu_0426/1283.html
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦