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 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
Python使用CMD模块更优雅的运行脚本
May 11 Python
python计算圆周率pi的方法
Jul 11 Python
Python中的getopt函数使用详解
Jul 28 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Python多线程threading模块用法实例分析
May 22 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
python如何利用cv2模块读取显示保存图片
Jun 04 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
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
js获取网页高度(详细整理)
2012/12/28 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
JS实现购物车特效
2017/02/02 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
Python偏函数实现原理及应用
2020/11/20 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
《红军不怕远征难》教学反思
2014/04/14 职场文书
产品销售计划书
2014/05/04 职场文书
学雷锋宣传标语
2014/06/25 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP