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

yipeiwu_com7年前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 中list ,set,dict的大规模查找效率对比详解

很多时候我们可能要频繁的进行元素的find 或in操作,本人一直天真的以为python的list做了hash,通过红黑树来高效查找···直到今天我真正来测试它和set,dict的查找效率...

python中的多线程实例教程

本文以实例形式较为详细的讲述了Python中多线程的用法,在Python程序设计中有着比较广泛的应用。分享给大家供大家参考之用。具体分析如下: python中关于多线程的操作可以使用th...

python查看zip包中文件及大小的方法

本文实例讲述了python查看zip包中文件及大小的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python import zipfile z =...

Python 类的私有属性和私有方法实例分析

本文实例讲述了Python 类的私有属性和私有方法。分享给大家供大家参考,具体如下: xx:公有变量 _xx:公有变量或方法,不能通过import导入其他模块(只有模块内部使用)。类对象...

Python+matplotlib实现填充螺旋实例

Python+matplotlib实现填充螺旋实例

填充螺旋演示结果: 实例代码: import matplotlib.pyplot as plt import numpy as np theta = np.arange(0, 8...