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的id()函数介绍
Feb 10 Python
python分割和拼接字符串
Nov 01 Python
详解python实现线程安全的单例模式
Mar 05 Python
python脚本实现验证码识别
Jun 07 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
python对一个数向上取整的实例方法
Jun 18 Python
python 多线程共享全局变量的优劣
Sep 24 Python
python中绕过反爬虫的方法总结
Nov 25 Python
使用Python解决图表与画布的间距问题
Apr 11 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 MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
轮播的简单实现方法
2016/07/28 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Python中map和列表推导效率比较实例分析
2015/06/17 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
Python实现自动发送邮件功能
2021/03/02 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Python能做什么
2020/06/02 Python
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
毕业实习评语
2014/02/10 职场文书
无工作证明怎么写
2015/06/15 职场文书
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android