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 bsddb模块操作Berkeley DB数据库介绍

bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性能非常好,mysql的存储后端引擎都支持bdb的方式。这里简单介绍一些关于bsddb的使用方法。 bdb...

解决python线程卡死的问题

1. top命令和日志方式判定卡死的位置 python代码忽然卡死,日志不输出,通过如下方式可以确定线程确实已经死掉了: # top 命令 top命令可以看到机器上所有线程的执行情况,%...

Python XlsxWriter模块Chart类用法实例分析

Python XlsxWriter模块Chart类用法实例分析

本文实例讲述了Python XlsxWriter模块Chart类用法。分享给大家供大家参考,具体如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包...

Python常见数据结构之栈与队列用法示例

本文实例讲述了Python常见数据结构之栈与队列用法。分享给大家供大家参考,具体如下: Python常见数据结构之-栈 首先,栈是一种数据结构。具有后进先出特性。 #栈的实现 cla...

Python实现手机号自动判断男女性别(实例解析)

Python实现手机号自动判断男女性别(实例解析)

本文性别判断主要依靠airtest中的自动化测试实现 通过自动对比支付宝页面男女图像,从而实现男女判断 代码如下: 男女判断函数: // An highlighted block...