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采集代理ip并判断是否可用和定时更新的方法
May 07 Python
python 执行shell命令并将结果保存的实例
May 11 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
Python各种扩展名区别点整理
Feb 27 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
Python实现手绘图效果实例分享
Jul 22 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 Python
python-jwt用户认证食用教学的实现方法
Jan 19 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
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
xml转json的js代码
2012/08/28 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python实现图片上添加图片
2019/11/26 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
先进单位申报材料
2014/12/25 职场文书
小学老师对学生的评语
2014/12/29 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android