逆转字符串—输入一个字符串,将其逆转并输出。

实现Python字符串反转有4种方法:

1、列表的方式:

1
2
3
4
5
6
7
8
9
def rev(s):
    a = list(s)
    a.reverse()
    return (''.join(a))
a = rev('huowuzhao')
print (a)
 
---------------------------------------------------------------------------------
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.pyoahzuwouhProcess finished with exit code 0

这种方法是采用列表的reverse方法,先将s转换为列表,然后通过reverse方法反转,然后在通过join连接为字符串。

reverse是把列表方向排序;

2、切片的方式:

*切片的方式最简洁

1
2
3
4
5
6
7
8
9
def rev(s):
    return (s[::-1])
a = rev('huowuzhao')
print (a)
 
---------------------------------------------------------------------------
 
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh

这是采用切片的方法,设置步长为-1,也就是反过来排序。
这种方法是最简洁的,也是最推荐的。

3、reduce:

1
2
3
4
5
6
7
8
9
10
from functools import reduce  #因为我是用的是Python3.5,所以reduce函数需要引入
def rev(s):
    return reduce(lambda x, y : y + x, s)
a = rev('huowuzhao')
print (a)
 
-----------------------------------------------------------------------------------------
 
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh

4、还有一种类似切片的方法,不过稍微较前几种稍微复杂点:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def rev(s):
    str0 = ''
    l = len(s)-1
    while l >= 0:
       str0 += s[l]
       l -= 1
    return (str0)
a = rev('huowuzhao')
print (a)
 
---------------------------------------------------------------------------------
 
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh

这种方法是先设置一个str0的空变量,然后在s中从后往前取值,然后追加到str0中。

 

posted @   BigZero  阅读(7321)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具
· C# 13 中的新增功能实操
点击右上角即可分享
微信分享提示