Python字符串逐字符或逐词反转方法
这篇文章主要介绍了Python字符串逐字符或逐词反转方法,本文对逐字符或逐词分别给出两种方法,需要的朋友可以参考下
目的
把字符串逐字符或逐词反转过来,这个蛮有意思的。
方法
先看逐字符反转吧,第一种设置切片的步长为-1
revchars=astring[::-1]
In [65]: x='abcd'
In [66]: x[::-1]
Out[66]: 'dcba'
第二种做法是采用reversed(),注意它返回的是一个迭代器,可以用于循环或传递给其它的“累加器”,不是一个已完成的字符串。
revchars=''.join(reversed(astring))
In [56]: y=reversed(x)
In [57]: y
Out[57]:
In [58]: ''.join(y)
Out[58]: 'dcba'
接着来看逐词反转。
第一种做法,创建一个列表,将列表反转,用join方法合并
In [38]: s='Today is really a good day'
In [39]: rev=s.split()
In [40]: rev
Out[40]: ['Today', 'is', 'really', 'a', 'good', 'day']
In [41]: rev.reverse()
In [42]: rev
Out[42]: ['day', 'good', 'a', 'really', 'is', 'Today']
In [45]: ' '.join(rev)
Out[45]: 'day good a really is Today'
也有一行解决的代码:
rev=' '.join(s.split()[::-1])
第二种做法,可以不改变原先的空格,采用正则式来做:
In [46]: import re
In [47]: rev=re.split(r'(\s )',s)
In [48]: rev
Out[48]: ['Today', ' ', 'is', ' ', 'really', ' ', 'a', ' ', 'good',
' ', 'day']
In [49]: rev.reverse()
In [50]: rev
Out[50]: ['day', ' ', 'good', ' ', 'a', ' ', 'really', ' ', 'is', '
', 'Today']
In [51]: rev=''.join(rev)
In [52]: rev
Out[52]: 'day good a really is Today'
可以考虑采用reversed()来代替可读性较差的[::-1]
revwords=' '.join(reversed(s.split())) revwords=''.join(reversed(re.split(r'(\s )',s)))
相关文章
- 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
- python:pip升级pip本身和setuptools(Python 3.7.15)
- 【Python实战】python中含有中文字符无法运行
- Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Python3.6新特性2 Python2.7新特性Python 2.7的新特性 - 牛皮糖NewPtone - 博客园.html Python 3_x 新特性及10大变化_python_脚本之家.htm
- Python编程语言学习:基于python各种库(matplotlib、Image)利用多种方法展示图片或进行图片可视化之详细攻略
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略
- Python语言学习之文件格式后缀那些事:python和常见各种文件格式后缀介绍、使用方法之详细攻略
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 已解决(Python安装报错)Visit python.org to download an earlier version of Python.
- 〖Python接口自动化测试实战篇⑫〗- 实战 - unittest框架之用例组织
- Python编程:flask-cors模块解决Flask跨域请求Cross-Origin问题
- Python 的字符运算符 r 和 u (2020-04-08)[32.51%]
- Python open()文件的字符数与指针字节关系
- 华为校招机试 - 检测热点字符(Java & JS & Python)
- Python: 爬虫入门-python爬虫入门教程(非常详细)