python怎么实现单词反转字符串

python怎么实现单词反转字符串,第1张

假设:

data = 'this is a test string'

鉴于你的问题描述得不是很清楚,下面考虑两种情况:

1、逐个字母反转:

>>> data[::-1]

'gnirts tset a si 嫌升塌siht'笑敬

2、逐个单词反转:

>>> ' '.join(data.split()[::-1])

'string test a is this'芹圆

在你所提问的内容中,你提供的代码很乱。我大概看了下,你的代码功能大概是反转字符串内容。主要工作代码是先把字符串转换为list,然后join起来,再把反转好的字符串输出到屏幕上。是这样吧?

但有一点你要注意:

你所在的python环境是2.7,而你写的代码环境是python3。你要在枝陪祥python2下执行是不成功的。

我没测试你的代码,因为时间的原因(主要是你的代码太乱,太糟糕!让回答者花不必要的时间去做不必要的思考。)

以下是我给你的一些参考,比如,按你的思路去做的话(定义一个函数,功能是先把字符串转换为list,然后join起来,再把反转好的字符串输出到屏幕上。)。代码我们可乱陆以这样写:

python3.6环境下

#因代码中有f-string格式,所以至少要python3.6环境

#定义函数reverseStrtxt

def reverseStrtxt(strtxt):

    newStrtxt =[] #初始化空列表

    index = len(strtxt) #返回strtxt的项目数

    while index:

        index -= 1 #index=index-1                   

        newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]

    return f'{"".join(newStrtxt)}' #返回反转后的字符串

if __name__=='__main__':

    strtxt='hello,how are you ? Fine.'

    print(reverseStrtxt(strtxt))

python2环境下

#可运行在python2环境下

#定义函数reverseStrtxt

def reverseStrtxt(strtxt):

    newStrtxt =[] #初始化空列表

    index = len(strtxt) #返回strtxt的项目数

    while index:

        index -= 1 #index=index-1                   

        newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]

    return "".join(newStrtxt) #返回反转后的字符串

if __name__=='__main__':

    strtxt='hello,how are you ? Fine.'

    print reverseStrtxt(strtxt)

我们把以上代码优化下:

python3环境

#可运行在python3环境下

#定义函数reverseStrtxt

def reverseStrtxt(strtxt):

    newStrtxt = '' #初始化空字符串

    index = len(strtxt) #返回strtxt的项目数

    while index:

        index -= 1 #index=index-1                  

        newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]

    return newStrtxt #返回反转后的字符串

if __name__=='__main__':

    strtxt='hello,how are you ? Fine.'

    print(reverseStrtxt(strtxt))

python2环境

#可运行在python2环境下

#定义函数reverseStrtxt

def reverseStrtxt(strtxt):

    newStrtxt = '' #初始化空字符串

    index = len(strtxt) #返回strtxt的项目数

    猛搏while index:

        index -= 1 #index=index-1                  

        newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index] 

    return newStrtxt #返回反转后的字符串

if __name__=='__main__':

    strtxt='hello,how are you ? Fine.'

    print reverseStrtxt(strtxt)

我们还可以更简单

#用切片的速度最快

txtstr='hello, how are you ? Fine . '

str_lst=list(txtstr)

print(''.join(str_lst[::-1])) print('hello, how are you ? Fine . '[::-1])

要反转字符串的方法很多,但个人建议用切片,速度最快,而且代码简洁,易读。

其实python在这方面是很灵活的。

纯手工,如果对你有帮助,望采纳!

倒置字符串 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

解闭基题思路轿扒谨:

先将字符串整体逆置,然后再逆置以空格分隔的单词,这样就可以达到我们想要的效果。

例此租如:

输入:I like beijing.

输出:beijing. like I


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8250858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存