Python实现字符串反转的常用方法分析【4种方法】

yipeiwu_com6年前Python基础

本文实例讲述了Python实现字符串反转的常用方法。分享给大家供大家参考,具体如下:

下面是实现python字符串反转的四种方法:

1. 切片

def rev(s):
return s[::-1]

这是采用切片的方法,设置步长为-1,也就是反过来排序。

这种方法是最简洁的,也是最推荐的。

2. 这种方法与切片类似,不过比较麻烦

def rev(s):
str0 = ''
  l = len(s)-1
  while l >= 0:
    str0 += s[l]
    l -= 1
  return str0

这种方法是先设置一个str0的空变量,然后在s中从后往前取值,然后追加到str0中。

3. 列表

def rev(s):
a = list(s)
  a.reverse()
  return ''.join(a)

这种方法是采用列表的reverse方法,先将s转换为列表,然后通过reverse方法反转,然后在通过join连接为字符串。

注意:这里注意区分列表的reverse和sort(或sorted)方法:

reverse是把列表方向排序;

sort(reverse=True)是按照某种顺序方向排序。

example:

>>> a=['a','c','b','d']
>>> b=['a','c','b','d']
>>> a.sort(reverse=True)
>>> b.reverse()
>>> a
['d', 'c', 'b', 'a']
>>> b
['d', 'b', 'c', 'a']

4. reduce

def rev(s):
return reduce(lambda x, y : y + x, s)

更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python求最大连续子数组的和

抛出问题: 求一数组如 l = [0, 1, 2, 3, -4, 5, -6],求该数组的最大连续子数组的和 如结果为[0,1,2,3,-4,5] 的和为7 问题分析: 这个问题很...

Python查看微信撤回消息代码

Python查看微信撤回消息代码

微信(WeChat) 是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造 。在互联网飞速发展的下、民众的需求...

Django与遗留的数据库整合的方法指南

Django的数据库层从Python代码生成SQL schemas—但是对于遗留数据库,你已经拥有SQL schemas. 这种情况,你需要为已经存在的数据表创建model. 为此,Dj...

python算法学习之基数排序实例

基数排序法又称桶子法(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些"桶"中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其...

对pyqt5多线程正确的开启姿势详解

如下所示: # -*- coding: utf-8 -*- import sys from PyQt5.QtCore import QThread, pyqtSignal fro...