python3反转字符串的3种方法(小结)

yipeiwu_com6年前Python基础

前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容。主要有三种方法:

1.切片法(最简洁的一种)

#切片法
def reverse1():
  s=input("请输入需要反转的内容:")
  return s[::-1]
reverse1()

#运行结果
In [23]: def reverse1():
  ...: s=input("请输入需要反转的内容:")
  ...: return s[::-1]
  ...: 
  ...: reverse1()

请输入需要反转的内容:你是一个小南瓜
Out[23]: '瓜南小个一是你'

原理是:This is extended slice syntax. It works by doing [begin: end:step] - by leaving begin and end off and specifying a step of -1, it reverses a string.

2.递归

#递归反转
def reverse2(s):
  if s=="":
    return s
  else:
    return reverse2(s[1:])+s[0]
reverse2("sidfmawsmdisd是当面问")

#运行结果
In [24]: def reverse2(s):
  ...: if s=="":
  ...: return s
  ...: else:
  ...: return reverse2(s[1:])+s[0]
  ...: 
  ...: reverse2("sidfmawsmdisd是当面问")
Out[24]: '问面当是dsidmswamfdis'

3.借用列表,使用reverse()方法

Python中自带reverse()函数,可以处理列表的反转,来看示例:

In [25]: l=['a', 'b', 'c', 'd']
  ...: l.reverse()
  ...: print (l)
['d', 'c', 'b', 'a']

reverse()函数将列表的内容进行了反转,借助这个特性,可以先将字符串转换成列表,利用reverse()函数进行反转后,再处理成字符串。

#借用列表,使用reverse()方法
def reverse3(s):
  l=list(s)
  l.reverse()
  print("".join(l))
reverse3("soifmi34pomOsprey,,是")

#运行结果
In [26]: def reverse3(s):
  ...: l=list(s)
  ...: l.reverse()
  ...: print("".join(l))
  ...: 
  ...: reverse3("soifmi34pomOsprey,,是")
  ...: 

是,,yerpsOmop43imfios

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python文件操作之目录遍历实例分析

本文实例讲述了python文件操作之目录遍历的方法。分享给大家供大家参考。具体分析如下: Python的os模块,包含了普遍的操作系统功能,这里主要学习与路径相关的函数: os.list...

Python实现的直接插入排序算法示例

Python实现的直接插入排序算法示例

本文实例讲述了Python实现的直接插入排序算法。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- '''直接插入的python实现 时间复杂度O(...

python 递归遍历文件夹,并打印满足条件的文件路径实例

题目:利用协程来遍历目录下,所有子文件及子文件夹下的文件是否含有某个字段值,并打印满足条件的文件的绝对路径。 #!/user/bin/env python # -*- coding:...

django admin组件使用方法详解

关于admin: (1) admin的概述: admin是一个django子代的组件,当创建一个项目会后,就会在settings文件的 INSTALLED_APPS 中自动注册,另外在u...

Python使用pickle模块报错EOFError Ran out of input的解决方法

本文实例讲述了Python使用pickle模块报错EOFError Ran out of input的解决方法。分享给大家供大家参考,具体如下: 遇到了 EOFError:Ran out...