又双叒叕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条)

报告相同问题?

悬赏问题

  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写