python翻转函数_Python翻转单词顺序
首先需要写一个reverse函数,把任何输入的字符串完全翻转。然后从前往后依次遍历新字符串,如果遇到空格,就把空格前的字符串用reverse翻转,添加空格,继续遍历。需要注意的是,如果新字符串结尾不是空格,当遍历到结尾的时候,前一个空格到结尾的字符串没有翻转,因此记得跳出遍历后,需要再完成一次翻转操作。'''
输入一个英文句子, 翻转句子中单词的顺序,但单词内字符的顺序不变
为简单起见, 标点符号和普通字母一样处理
'''
# -*- coding:utf-8 -*-
class Solution:
# 按照书上的方法进行编写
# 因为Python的字符串结束没有结束符, 所以需要判断最后的pEnd是否已经指到最后一个字符
# 如果已经指到最后一个字符, 则直接在复制之后跳出循环
# 测试用例'I am a student.'和' '和''
def ReverseSentence(self, s):
if s == None or len(s) <= 0:
return ''
strList = list(s)
strList = self.Reverse(strList)
pBegin = 0
pEnd = 0
resultStr = ''
listTemp = []
while pEnd < len(s):
# 如果字符串长度为1, 直接跳出循环
# 如果pEnd指针指到最后一个字符, 跳出循环
if pEnd == len(s)-1:
listTemp.append(self.Reverse(strList[pBegin:]))
break
# 这个判断语句位置需要靠前, 用来鉴定字符串开头是否是空格的情况
if strList[pBegin] == ' ':
pBegin += 1
pEnd += 1
listTemp.append(' ')
elif strList[pEnd] == ' ':
listTemp.append(self.Reverse(strList[pBegin:pEnd]))
pBegin = pEnd
else:
pEnd += 1
# print(listTemp)
for i in listTemp:
resultStr += ''.join(i)
return resultStr
# 翻转字符list
def Reverse(self, alist):
if alist == None or len(alist) <= 0:
return ''
startIndex = 0
endIndex = len(alist) - 1
while startIndex < endIndex:
alist[startIndex], alist[endIndex] = alist[endIndex], alist[startIndex]
startIndex += 1
endIndex -= 1
return alist
# 直接利用Python的语句进行字符串的翻转
def ReverseSentence2(self, s):
l = s.split(' ')
return ' '.join(l[::-1])
str = 'I am a student.'
s = Solution()
print(s.ReverseSentence2(str))
python翻转函数_Python翻转单词顺序相关推荐
- python filter函数_python基础——filter函数
python基础--filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
- python not函数_python 函数
1 为什么使用函数 在没有接触函数时,有时候需要将一个功能多次写,如果需要修改其中一个变量,则需要把所有实现该功能的代码一处一处改.不利于代码维护,代码量大了,组织结构也会很不清晰. 所以总结不使用函 ...
- python value函数_python 函数基础
什么是函数? 函数在Python中是最基本的程序结构,用来最大化地让我们的代码进行复用.简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行.Python中的函数在其他 ...
- python初学函数_Python初学者速收藏!面向Python初学者的知识-函数
什么是函数式编程? 函数式编程是一种编码范例,其中我们定义要做什么而不是执行什么动作.这个想法最初是从数学中采用的,我们定义输入到函数中的输入以及我们期望从中获得的输出. 函数式编程很少依赖状态管理- ...
- python describe函数_Python基础知识点梳理2,推荐收藏
接着昨天的基础知识点继续梳理,昨天的 Python基础知识梳理1 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是-greet_user ( ...
- python fields函数_Python函数详解
# ------------------------------------一等函数------------------------------------ # 龟叔: 虽然我把函数定为一等对象,但是 ...
- python labels函数_python——函数
1.函数的创建 函数是可以调用的(可能带有参数,也可能无参),它执行某种行动并且返回一个值.一般来说,内建的callable函数可以用来判断函数是否可调用. 1 >>> import ...
- python include函数_python 库函数
python的内建函数和库函数的区别是什么? [区别]:标准库函数都需要import xxx才能取得.内建函数都在__builtins__里面,在global里直接就能用. [补充]:1.python ...
- python islower函数_python字符串是否是小写-python 字符串小写-python islower函数-python islower函数未定义-嗨客网...
Python字符串是否是小写教程 在开发过程中,有时候我们需要判断一个 Python islower()函数详解 语法 str.islower() -> bool 参数 参数 描述 str 表示 ...
最新文章
- 分享一个PyTorch医学图像分割开源库
- 斯坦福神经网络神经元对特征提取的影响JS演示
- php jquery grid,jQuery Grid
- MYSQL免安装版-安装配置过程
- WSL——Linux C编程中lockf函数无效
- NET 提供了执行异步操作的三种模式
- batch、epoch、iteration的区别
- 【ruby】ruby学习笔记之--环境搭建
- 【白皮书分享】2021年互联网人才招聘白皮书.pdf(附下载链接)
- cad墙线打断lisp_autocad 2010怎么打断墙线?
- APP安全测试——HOOK技术
- MATLAB插值函数interp1
- HTML5 drag属性
- 生日祝福html_祝我家的猪,生日快乐 | 告白墙第21期
- 在数据可视化这条路上,除了天天做图表,还有更重要的3件事
- 丙二硫醇/鸟嘌呤(BG)/Mn配合物修饰BODIPY氟化硼二吡咯荧光探针
- Python将.nii格式文件转换为.png格式
- 37岁被裁,120天没找到工作,无奈去小公司,结果懵了
- 第一课 初识计算机ppt,第一课 初识Powerpoint.ppt
- 用计算机弹的数字,在计算器上弹两只老虎是用那几个数字