0
点赞
收藏
分享

微信扫一扫

Python 找出列表中最大值(递归)

迪莉娅1979 2022-04-16 阅读 144
python

如果列表为空返回 0;

如果列表不为空比较mylist[0] > getMaxValue(mylist[1:]);

如果mylist[0]大则返回;

否则再次递归;

# 处理用列表
mylist = [12, 5, 23, 100, 25, 36, 78, 25, 100, 13]


# 求最大值函数
def getMaxValue(mylist):
    # 结束条件
    if mylist == None:
        return 0
    elif len(mylist) == 1:
        return mylist[0]

    # 返回大值
    elif mylist[0] > getMaxValue(mylist[1:]):
        return mylist[0]
    else:
        return getMaxValue(mylist[1:])


print(getMaxValue(mylist))

'''
递归调用流程
[12, 5, 23]
--> 12, 5, 23
    --> 5, 23
        --> 23
    --> 5, 23    5 和 23比较 --> getMaxValue(mylist[1:]),第二层递归
        --> 23
    --> 12, 5, 23   12 和 23比较
--> 23                   
'''
举报

相关推荐

0 条评论