Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99099
  • 博文数量: 23
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-27 21:38
个人简介

闵大荒搬砖中

文章分类

全部博文(23)

文章存档

2014年(4)

2013年(19)

我的朋友

分类: Python/Ruby

2013-11-24 16:52:55

下面是实现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)

阅读(6710) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~