众所周知,python中的字符串是无法改变的,反转一个字符串自然要创建一个拷贝;最简单的方法,当然是步长为“-1”的切片:

result = astring[::-1]

如果要是按单词来反转,需要三步完成:字符串--->单词列表、反转列表、单词列表--->字符串;

 result = astring.split()
result.reverse()
result = ' '.join(result)

如果喜欢简练和紧凑的一行代码,可以这样做:result = ' '.join(astring.split()[::-1])

但是[::-1]降低了可读性,不过也可以这样写:result = ' '.join(reversed(astring.split()))

假设一下情形:在处理字符串的同时,保证不改变空格的个数,显然上述方法无法奏效,这就到了正则表达式出场的时候了:

 import re
result = re.split(r'(\s+)', astring)
result.reverse()
result = ''.join(result) #注意''中间没有空格哦

同样一行也可以完成这个任务:result = ''.join(re.split(r'(\s+)', astring)[::-1])

总结:很遗憾,这篇文章起初的写法要比这样好,可由于意外丢失了未完成的初稿,倒是灵感全无,尽最大努力,写成了这样;

最新文章

  1. [SQL] SQL 基础知识梳理(三) - 聚合和排序
  2. codevs1540 银河英雄传说
  3. Trilateration三边测量定位算法
  4. WAMP启动失败简单解决方法
  5. 【iCore3 双核心板】例程二十五:LAN_DNS实验——域名解析
  6. [Effective JavaScript 笔记]第66条:使用计数器来执行并行操作
  7. 在AE中通过SDE添加图层(转)
  8. iOS-RunLoop,为手机省电,节省CPU资源,程序离不开的机制
  9. 前端必会css整理
  10. ZBar Installer
  11. 一步到位Linux中安装配置MySQL及补坑
  12. redis 字符串
  13. JS上了贼船
  14. vitualbox中的centos7与主机共享文件
  15. Mac OSX 编译 LeanSDR
  16. Express实例代码分析1——简单的用户验证登录文件
  17. BZOJ4543[POI2014]Hotel加强版——长链剖分+树形DP
  18. left join 注意事项
  19. mosquitto 配置文件解说
  20. [转]JAVA 反射及使用

热门文章

  1. MvcMailer通过ASP.NET MVC Razor视图和基架发送邮件
  2. 独立博客网站FansUnion.cn操作2多年的经验和教训以及未来计划
  3. Git联系oschina托管代码版本号
  4. 《代码的第一行——Android》封面诞生
  5. python_小爬虫
  6. linux_增加用户组_删除用户
  7. 前端学习笔记(zepto或jquery)—— 布局技巧(一)
  8. Android "QR二维码扫描"
  9. JVMTI 中间JNI系列功能,线程安全和故障排除技巧
  10. 第一个JavaWeb程序