【python cookbook】 将字符串逐字符或逐词反转
反转字符最简单的方法是使用步长为-1的方法
revchars = astring[::-1]
反转字符串 应先创建一个单词列表 再将列表反转 在用join方法合并
rewords = astring.split() rewords.reverse() rewords = ' '.join(rewords) #也可以用一行代码表示 rewords = ' '.join(astring.split()[::-1])
逐词反转还保留原来空格的话
import re revwords = re.split(r'(\s+)',astring) revwords.reverse() revwords = ' '.join(revwords) #一行表示 revwords = ''join(re.split(r'(\s+)',astring)[::-1])
也可使用reversed来替换切片指示符[::-1]
revwords = ''join(reversed(astring.split()))
reverse()
list.reverse()
Reverse the elements of the list, in place.
>>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25]
reversed()
reversed(seq)
Return a reverse iterator. seq must be an object which has a __reversed__() method or supports the sequence protocol (the __len__() method and the __getitem__() method with integer arguments starting at 0).
Changed in version 2.6: Added the possibility to write a custom __reversed__() method.
join用法
>>> a="abcd" >>> ",".join(a) 'a,b,c,d' >>> "|".join(['a','b','c']) 'a|b|c' >>> ",".join(('a','b','c')) 'a,b,c' >>> ",".join({'a':1,'b':2,'c':3}) 'a,c,b'
作者:GoodSpeed Cheng
出处:http://www.cnblogs.com/cacique/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。