博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python美味食谱:1.7 将字符串逐字符或逐词反转
阅读量:4604 次
发布时间:2019-06-09

本文共 1465 字,大约阅读时间需要 4 分钟。

目的

  把字符串逐字符或逐词反转过来,这个蛮有意思的。

方法

  先看逐字符反转吧,第一种设置切片的步长为-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
]: 
<
reversed object at 
0x058302F0
>
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
)))

 

  

转载于:https://www.cnblogs.com/yuxc/archive/2011/08/09/2132386.html

你可能感兴趣的文章
实时通讯与非实时通讯
查看>>
jQuery中事件绑定与解绑
查看>>
js原生Ajax的封装与使用
查看>>
周总结6
查看>>
PostgreSQL 务实应用(二/5)插入冲突
查看>>
一种公众号回复关键词机制
查看>>
java多线程入门学习(一)
查看>>
基于 Web 的 Go 语言 IDE - Wide 1.1.0 公布!
查看>>
nyist oj 138 找球号(二)(hash 表+位运算)
查看>>
Movidius软件手册阅读 2017-09-04
查看>>
ytu 1910:字符统计(水题)
查看>>
201671030110 姜佳宇 实验三作业互评与改进
查看>>
mysql-5.6.15 开启二进制文件
查看>>
python的沙盒环境--virtualenv
查看>>
软件自动化测试——入门、进阶与实战
查看>>
BZOJ1878 [SDOI2009]HH的项链 树状数组 或 莫队
查看>>
BZOJ3675 [Apio2014]序列分割 动态规划 斜率优化
查看>>
Django extend(继承)模板标签
查看>>
2016.10.24 继续学习
查看>>
产品功能对标 - 服务授权管理
查看>>