又双叒叕180 2021-05-15 09:30 采纳率: 33.3%
浏览 58
已采纳

想用递归得到一个列表中最长的元素

想问一下用递归得到最长的元素,并输出,自己试了好久还不明白(发现用空列表会从头开始运行)初学python希望大佬帮助!感谢

  • 写回答

4条回答 默认 最新

  • CSDN专家-黄老师 2021-05-15 10:04
    关注

    参考一下:

    def maxList(list):
        # 设一个默认值,与列表里的值比大小,谁大留谁,依次递归,最后留下的就是最大值。
        if len(list) >= 3:
            if len(list[0]) <= len(list[1]):
                return maxList(list[1:])
            else:
                num = list[0]
                list = list[2:]
                list.append(num)
                return maxList(list)
        else:
            if len(list) == 2:
                if len(list[0]) <= len(list[1]):
                    return list[1]
                else:
                    return list[0]
            else:
                print("请输入列表")
    
    print(maxList(['111', '22222','33333333']))
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?