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获取网页上图片下载地址的方法
Mar 11 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python制作Windows系统服务
Mar 25 Python
python使用pycharm环境调用opencv库
Feb 11 Python
Python中enumerate()函数编写更Pythonic的循环
Mar 06 Python
python中协程实现TCP连接的实例分析
Oct 14 Python
PyCharm配置mongo插件的方法
Nov 30 Python
selenium+python截图不成功的解决方法
Jan 30 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
如何清空python的变量
Jul 05 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
详解python日志输出使用配置文件格式
Feb 10 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
php使用pack处理二进制文件的方法
2014/07/03 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
python中os操作文件及文件路径实例汇总
2015/01/15 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
平面设计岗位职责
2013/12/14 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书