Python中递归求出列表的最大值

您所在的位置:网站首页 python中列表求最大值 Python中递归求出列表的最大值

Python中递归求出列表的最大值

2023-07-02 12:56| 来源: 网络整理| 查看: 265

Python中递归求出列表的最大值 发布时间:2021-08-03 10:40:05 来源:亿速云 阅读:715 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“Python中递归求出列表的最大值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中递归求出列表的最大值”这篇文章吧。

要求:求出列表中的所有值的最大数,包括列表中带有子列表的。

按照Python给出的内置函数(max)只能求出列表中的最大值,无法求出包括列表中的子列表的最大值

Python3代码如下:

#!/usr/bin/env python3 # _*_ coding:UTF-8 _*_ list_tmp = [1,3,5,7,9,11] print(max(list_tmp))

返回的结果为:11

按照Python3给出内置函数(max)的方法想要违和他的要求求出列表包括子列表的数,他就会给你进行报错。

图片如下:

Python中递归求出列表的最大值

按照上述的操作我们无法将列表的值和子列表的值进行对比,那么我们可以尝试着自己制作一个可以对比列表和子列表的值,这个方法特别简单,使用递归函数对每个值进行对比,包括子列表的值。

思路:

使用递归函数的方式列出,首先我们将每个列表的值全部列出来,在此我们使用循环的方式将列表中的值列出,然后对列表值的类型进行判断,如果值的类型为list,那么我们就再次列出列表中的值,以此类推,我们就能够得出所有的列表值,其中无一个是list的类型。

然后我们的函数中将返回结果给出一个默认值,值为0,然后在将返回值跟列表所列出来的值进行对比,如果谁大,那么返回结果的值将等于他,以此类推,我们最终得出的结果就是正个列表中的最大值,说着可能有点难懂,那么直接上代码。

Python3代码如下:

def max_value(ls,rs):  for l in ls:   if type(l) == list:    rs = max_value(l,rs)    continue   if l > rs:    rs = l  return rs def max_val(ls):  rs = max_value(ls,0)  return rs if __name__ == '__main__':  list1 = [4,1,3,11,[1,6,8],[[1,3],[6,15]]]  list2 = [5,[5,7,9,2],3,[2,6,16],9]  result1 = max_val(list1)  result2 = max_val(list2)  print('list1:%r\nMAX:%s\nlist2:%r\nMAX:%s' %(list1,result1,list2,result2))

效果图如下:

Python中递归求出列表的最大值

这里我们依靠递归函数的作用,将所有表值全部取下,并且进行判断。

以上是“Python中递归求出列表的最大值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读: 递归求数组的最大值 python基础之取列表中最大值的索引值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 递归 列表 上一篇新闻:Spark环境搭建与测试方法 下一篇新闻:如何解决某些HTML字符打不出来的问题 猜你喜欢 韩国服务器搭建个人博客有哪些优势 香港云服务器建站的优势有哪些呢 为什么外贸企业选择马来西亚服务器 韩国服务器部署游戏业务有什么优势 香港服务器搭建站群步骤有哪些 租用美国服务器有哪些要注意的事项 选择韩国服务器有哪些优势 怎么解决韩国服务器访问卡延迟高的问题 韩国服务器租用有哪些优势 租用低价韩国服务器可信吗


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3