Python字符串处理实现单词反转
作者:qq_21089969 发布时间:2021-01-30 19:19:01
标签:Python,单词反转
Python字符串处理学习中,有一道简单但很经典的题目,按照单词对字符串进行反转,并对原始空格进行保留:
如:‘ I love China! ‘
转化为:‘ China! love I ‘
两种解决方案:
方案1:从前往后对字符串进行遍历,如果第一个就是空格,直接跳过,直到第一个不是空格的字符,如果是单独的字母,同样跳过,否则的话,将该单词进行反转,再往后遍历,最后使用reserve方法,让整个字符串从后往前打印。
方案2:直接使用re(正则化)包进行反转
代码如下:
import re
def reserve(str_list, start, end):
while start <= end:
str_list[start], str_list[end] = str_list[end], str_list[start]
end -= 1
start += 1
str = ' I love china! '
str_list = list(str)
print(str_list)
i = 0
print(len(str_list))
# 从前往后遍历list,如果碰到空格,就调用反转函数,不考虑单个字符情况
while i < len(str_list):
if str_list[i] != ' ':
start = i
end = start + 1
print(end)
while (end < len(str_list)) and (str_list[end]!=' '):
end += 1
if end - start > 1:
reserve(str_list, start, end-1)
i = end
else:
i = end
else:
i += 1
print(str_list)
str_list.reverse()
print(''.join(str_list))
# 采用正则表达式操作
str_re = re.split(r'(\s+)',str)
str_re.reverse()
str_re = ''.join(str_re)
print(str_re)
0
投稿
猜你喜欢
- 指令和程序计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说
- 假如你拥有一个庞大的网站,内容又多,那么来访者往往很难找到自己所需要的东东,这时候你就需要一个站内搜索来帮助来访者更快的找到索要的资料了!现
- 本文以实例形式介绍了python turtle模块即海龟绘图的使用方法,对于需要进行图形编程的朋友相信会有一定的借鉴价值。python tu
- PDO::getAvailableDriversPDO::getAvailableDrivers — 返回一个可用驱动的数组(PHP 5 &
- 上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来。我在官网上查找
- 很简单的一个东西,在'\n'、'\r\n'、'\r'3中换行符之间进行转换。用法usage:
- 本文实例讲述了Python实现阿拉伯数字和罗马数字的互相转换功能。分享给大家供大家参考,具体如下:前面一篇介绍了《Java实现的求解经典罗马
- 常用时间转换及处理函数:import datetime# 获取当前时间d1 = datetime.datetime.now()print d
- 学习python爬虫时遇到了一个问题,书上有示例如下:import reline='Cats are smarter than do
- vi /etc/freetds/freetds.conf [global]# TDS protocol versiontds version
- 马氏距离区别于欧式距离,如百度知道中所言:马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Ma
- 如何显示最后十名来访者?代码和说明见下:<%Application.LockIF NOT isArray(&nbs
- 背景:读取TXT文件,加载到kafka中,然后通过logstash消费kafka中的数据加载到es中第一步:导入相应的依赖包pip inst
- 对于任何一个开发项目来说最大的错误可能就是没有计划。最近,有些人认为开始前无需计划,一个优秀的开发者需要的是随机应变。我敢肯定这样的做法最后
- 本文实例讲述了html静态页面调用php文件的方法。分享给大家供大家参考。具体方法如下:静态页面中看上去好像是不能直接调用php文件的,但是
- 前言流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:python net.py interface其中int
- 代码如下:--创建测试表 DECLARE @Users TABLE ( ID INT IDENTITY(1,1), UserIn
- 一共4个页面:form.asp; chk.asp; num.asp; count.asp得到一个随即数字。加密
- 可以查看: 代码如下:OPEN SYMMETRIC KEY 命令关于 对称密钥加密使用证书解密 CREATE MASTER KEY ENC
- 一、安装redis:1.下载:wget http://download.redis.io/releases/redis-3.2.8.tar.