Python字符串处理实现单词反转


Posted in Python onJune 14, 2017

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作MySQL数据库的方法分享
May 29 Python
python 获取网页编码方式实现代码
Mar 11 Python
Python实现字符串逆序输出功能示例
Jun 24 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
python调用百度REST API实现语音识别
Aug 30 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
Python使用type关键字创建类步骤详解
Jul 23 Python
利用python实现AR教程
Nov 20 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
May 28 Python
python3实现UDP协议的服务器和客户端
Jun 14 #Python
老生常谈Python基础之字符编码
Jun 14 #Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 #Python
Python之re操作方法(详解)
Jun 14 #Python
Python之py2exe打包工具详解
Jun 14 #Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 #Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 #Python
You might like
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP学习笔记之session
2018/05/06 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
javascript时区函数介绍
2012/09/14 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
vue组件生命周期详解
2017/11/07 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
解决Python requests 报错方法集锦
2017/03/19 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
python中spy++的使用超详细教程
2021/01/29 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
幼师自荐信范文
2013/10/06 职场文书
智能电子应届生求职信
2013/11/10 职场文书
综合实践活动方案
2014/02/14 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书