python 菜谱(python cookbook) 1.7 反转字符或者按照单词反转

 

挑战任务1:反转单个字符

切片方法是最好解决这个问题的办法,步长为-1的切片方法就能解决,但是需要注意的是字符串是不能修改,所以通过赋值(拷贝):

value=astring[::-1]

挑战任务2:按照单词反转

列表有内置的反转函数,所以首先能把,接着反转列表,接着拼接列表中的元素就能解决问题:

words=astring.split()         #一段字符串放入列表

words.reverse()                 #反转列表

' '.split(words)                    #拼接列表中的元素

挑战任务3:按照单词反转,但是还需要保持原来的空格符原样  “this  a top”->"top a  this"

上面这种方法虽然能实现反转,但是无法保持原来空格符原样,如果需要保持原来空格符原样的话,需要记住空格符的个数,正则能很好的实现这个目的。
import re
words=re.split('\s+',astring)     #切割
words.reverse()                        #反转列表
''.split(words)                            #拼接列表中的元素
 
上面的解决方案都是最基本的,各位可以通过更简洁的方式去实现,这个挑战就交给各位自己了!