玩转python之字符串逐个字符或逐词反转
2024-08-26 04:57:19
众所周知,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])
总结:很遗憾,这篇文章起初的写法要比这样好,可由于意外丢失了未完成的初稿,倒是灵感全无,尽最大努力,写成了这样;
最新文章
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
- codevs1540 银河英雄传说
- Trilateration三边测量定位算法
- WAMP启动失败简单解决方法
- 【iCore3 双核心板】例程二十五:LAN_DNS实验——域名解析
- [Effective JavaScript 笔记]第66条:使用计数器来执行并行操作
- 在AE中通过SDE添加图层(转)
- iOS-RunLoop,为手机省电,节省CPU资源,程序离不开的机制
- 前端必会css整理
- ZBar Installer
- 一步到位Linux中安装配置MySQL及补坑
- redis 字符串
- JS上了贼船
- vitualbox中的centos7与主机共享文件
- Mac OSX 编译 LeanSDR
- Express实例代码分析1——简单的用户验证登录文件
- BZOJ4543[POI2014]Hotel加强版——长链剖分+树形DP
- left join 注意事项
- mosquitto 配置文件解说
- [转]JAVA 反射及使用
热门文章
- MvcMailer通过ASP.NET MVC Razor视图和基架发送邮件
- 独立博客网站FansUnion.cn操作2多年的经验和教训以及未来计划
- Git联系oschina托管代码版本号
- 《代码的第一行——Android》封面诞生
- python_小爬虫
- linux_增加用户组_删除用户
- 前端学习笔记(zepto或jquery)—— 布局技巧(一)
- Android &;quot;QR二维码扫描&;quot;
- JVMTI 中间JNI系列功能,线程安全和故障排除技巧
- 第一个JavaWeb程序