Python recipe(3):Reverse String
代码先行:
Example Source Code [http://www.cnblogs.com/tomsheep/]
''' Created on 2010-5-20 @author: lk ''' def reverse_chars(str): reverse = list(str) reverse.reverse() return ''.join(reverse) def reverse_words(str): reverse = str.split() reverse.reverse() return ' '.join(reverse) def reverse_words2(str): import re reverse = re.split(r'\s+', str) reverse.reverse() return ' '.join(reverse) def reverse(alist): """ a helper function to reverse a list """ tmp = alist[:] tmp.reverse() return tmp def reverse_chars_one(str):return ''.join(reverse(list(str))) def reverse_words_one(str):return ' '.join(reverse(str.split())) if __name__ == '__main__': print reverse_chars('Hello') print reverse_words('Hello World') print reverse_words2('Liu Kang') print reverse_chars_one('tomsheep') print reverse_words_one('Fudan University')
以上代码来自Python Cookbook 3-10
概述:
无需多说,反转字符串。BTW,我很纳闷为什么这样的操作不是string内建的……
代码说明:
1. list的reverse函数:反转一个list
2. string的join和spilt函数分别“从list串联出一个字符串(以该string对象为分隔符)”和“把字符串分割为list”,若spilt参数为空,默认以空格、tab、newline等空白符作为分隔符
3. re模块 为正则表达式模块。 re.split(r’\s+’,str)等价于str.split()
4. list的reverse函数为in-place函数,返回值为None,所以要让我们的reverse操作在一行代码中完成,加了一个helper函数reverse,具有非None返回值
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步