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中实现php的var_dump函数功能
Jan 21 Python
python用来获得图片exif信息的库实例分析
Mar 16 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
在pycharm中设置显示行数的方法
Jan 16 Python
python快排算法详解
Mar 04 Python
PyQt5实现简易计算器
May 30 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
python实现根据文件格式分类
Oct 31 Python
python字符串判断密码强弱
Mar 18 Python
python 如何停止一个死循环的线程
Nov 24 Python
Python办公自动化解决world文件批量转换
Sep 15 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
基于mysql的论坛(7)
2006/10/09 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
常用的php ADODB使用方法集锦
2008/03/25 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
javascript 继承实现方法
2009/08/26 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
js实现简单进度条效果
2020/03/25 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
python解析xml简单示例
2019/06/21 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
三年大学自我鉴定
2014/01/16 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
52条SQL语句教你性能优化
2021/05/25 MySQL
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers