Rookie_coder

导航

python cookbook 学习笔记 -- 1.7 将字符串逐字符或逐词反转

任务:把字符串逐字符或逐词反转过来

解决方案

字符串是一个turple,是无法改变的,反转一个字符串需要创建他的一个copy

最简单的方法:

  revchars = astring[::-1]

逐词反转:先创建一个单词的list,将这个list使用reverse反转,再用join将其合并即可

  revwords = astring.split()

  revwords.reverse()

  revwords = ' '.join(revwords)

若想逐词反转但又同时不想改变原先的空格,可以使用正则表达式

  import re

  revwords = re.split(r'(\s+)',astring)

  revwords.reverse()

  revwords = ''.join(revwords)

join使用的是空字符串,由于空格分隔符已经保存在了revwords列表中,所以这里的连接符使用空字符串

 reverse 与 reversed的区别,reverse直接对原list作用,而reversed则生成一个新的list,保持原list不变

此处需要复习下python的正则表达式的基础知识

posted on 2013-05-19 16:55  Rookie_coder  阅读(177)  评论(0)    收藏  举报