Python3之实现字符反转

  参考:https://www.cnblogs.com/jasmine0627/p/9510296.html

  将字符串s="helloworld"反转为‘dlrowolleh’

  fanzhuan.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
s='helloworld'
#1切片法最常用
r=s[::-1]
print('切片法',r)
 
#2使用reduce
from functools import reduce
#匿名函数,冒号前面为参数,冒号后为返回结果
#第一步x='h',y='e'返回字符串'eh'把这个结果作为新的参数x='eh' y='l' 结果为leh依次类推就把字符串反转了
r=reduce(lambda x,y:y+x,s)
print('reduce函数',r)
 
#3使用递归函数
def func(s):
    if len(s)<1:
        return s
    return func(s[1:])+s[0]
 
r=func(s)
print('递归函数法',r)
 
#4使用栈
def func(s):
    l=list(s)
    result=''
    #把字符串转换成列表pop()方法删除最后一个元素并把该元素作为返回值
    while len(l):
        result=result+l.pop()
    return result
 
r=func(s)
print('使用栈法',r)
 
#5for循环
def func(s):
    result=''
    max_index=len(s)
    #for循环通过下标从最后依次返回元素
    for index in range(0,max_index):
        result=result+s[max_index-index-1]
    return result
 
r=func(s)
print('使用for循环法',r)
 
#6使用列表reverse法
l=list(s)
#reverse方法把列表反向排列
l.reverse()
#join方法把列表组合成字符串
r="".join(l)
print('使用列表reverse法',r)

  输出

1
2
3
4
5
6
切片法 dlrowolleh
reduce函数 dlrowolleh
递归函数法 dlrowolleh
使用栈法 dlrowolleh
使用for循环法 dlrowolleh
使用列表reverse法 dlrowolleh

  

posted @   minseo  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-06-21 Redis主从配置及主从切换
2017-06-21 ELKStack可视化
点击右上角即可分享
微信分享提示