python实现对指定输入的字符串逆序输出的6种方法


Posted in Python onApril 26, 2018

对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用的方法,一共总结出来了六种方法,个人认为比较全面了,如有其他方法欢迎前来补充

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

方法二:将字符串转换为列表使用reverse函数

方法三:新建一个列表,从后往前添加元素

方法四:借助于collections模块现成的方法extendleft

方法五:递归实现

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

下面是具体的实现:

#!usr/bin/env python 
#encoding:utf-8 
 
''''''' 
__Author__:沂水寒城 
功能:输入一个字符串,倒叙输出 
''' 
 
import collections 
 
 
 
def func1(one_str): 
 ''''' 
 直接使用字符串切片功能逆转字符串 
 ''' 
 return one_str[::-1] 
 
 
def func2(one_str): 
 ''''' 
 将字符串转换为列表使用reverse函数 
 ''' 
 one_str_list = list(one_str) 
 one_str_list.reverse() 
 return ''.join(one_str_list) 
 
 
def func3(one_str): 
 ''''' 
 新建一个列表,从后往前添加元素 
 ''' 
 one_list=[] 
 for i in range(len(one_str)-1,-1,-1): 
  one_list.append(one_str[i]) 
 return ''.join(one_list) 
 
 
def func4(one_str): 
 ''''' 
 借助于collections模块现成的方法extendleft 
 ''' 
 deque1=collections.deque(one_str) 
 deque2=collections.deque() 
 for one_char in deque1: 
  deque2.extendleft(one_char) 
 return ''.join(deque2) 
 
 
def func5(one_str): 
 ''''' 
 递归实现 
 ''' 
 if len(one_str)<=1: 
  return one_str 
 return one_str[-1]+func5(one_str[:-1]) 
 
 
def func6(one_str): 
 ''''' 
 借助基本的Swap操作,以中间为基准交换对称位置的字符 
 ''' 
 one_str_list=list(one_str) 
 if len(one_str_list)==0 or len(one_str_list)==1: 
  return one_str_list 
 i=0 
 length=len(one_str_list) 
 while i < length/2: 
  one_str_list[i], one_str_list[length-i-1]=one_str_list[length-i-1], one_str_list[i] 
  i+=1 
 return ''.join(one_str_list) 
 
 
def main_func(str_list): 
 ''''' 
 主调用函数 
 ''' 
 for one_str in str_list: 
  one_list=[] 
  one=[] 
  one_list.append(func1(one_str)) 
  one_list.append(func2(one_str)) 
  one_list.append(func3(one_str)) 
  one_list.append(func4(one_str)) 
  one_list.append(func5(one_str)) 
  one_list.append(func6(one_str)) 
  print '字符串{0}逆序为:'.format(one_str) 
  print one_list 
 
 
if __name__ == '__main__': 
 str_list=['123456','abcdefg','zyxvuw','Together_CZ'] 
 main_func(str_list)

结果如下:

字符串123456逆序为: 
['654321', '654321', '654321', '654321', '654321', '654321'] 
字符串abcdefg逆序为: 
['gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba', 'gfedcba'] 
字符串zyxvuw逆序为: 
['wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz', 'wuvxyz'] 
字符串Together_CZ逆序为: 
['ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT', 'ZC_rehtegoT']

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
学习python的几条建议分享
Feb 10 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
Python编程图形库之Pillow使用方法讲解
Dec 28 Python
python实现抖音点赞功能
Apr 07 Python
Python多线程threading模块用法实例分析
May 22 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
重构Python代码的六个实例
Nov 25 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 #Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 #Python
TensorFlow损失函数专题详解
Apr 26 #Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 #Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 #Python
Python实现的计算器功能示例
Apr 26 #Python
python email smtplib模块发送邮件代码实例
Apr 26 #Python
You might like
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
JavaScript中this详解
2015/09/01 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
婚前协议书范本
2014/04/15 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
个人收入证明范本
2015/06/12 职场文书
新生儿未入户证明
2015/06/23 职场文书
九年级化学教学反思
2016/02/22 职场文书
人生感悟经典句子
2019/08/20 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang