Python Cookbook学习记录 ch1_7_2013/10/22
1.7将字符串逐字符或者逐词反转
a.逐字符反转可以直接用分片来操作,这是比较常用的方法
>>> Text = "Hello World" >>> print Text[::-1] dlroW olleH
b.逐词反转则需要做如下几步:
1.使用split方法将字符串以单词为单位分割开
2.将单词逆序排列
3.将单词拼接起来,单词之间加入一个空格
>>> Text = "Hello World, I am coming!" >>> worldlist = Text.split() >>> worldlist.reverse() >>> print ' '.join(worldlist) coming! am I World, Hello
但是这种方法有一个问题,就是加入词与词之间如果存在多个空格,会导致反转后空格数量变化
这时可以使用正则表达式的split方法来切割字符串,注意,这时候空格是会保留下来的。
>>> import re >>> Text = "Hello World, I am coming!" >>> worldlist = re.split(r'(\s+)',Text) >>> print worldlist #注意,空格被保留下来了!
['Hello', ' ', 'World,', ' ', 'I', ' ', 'am', ' ', 'coming!'] >>> worldlist.reverse() >>> print ''.join(worldlist) coming! am I World, Hello
正则表达式还需要继续学习,我还是不太会用,以后会专门写一篇进行系统的学习。